为了账号安全,请及时绑定邮箱和手机立即绑定

thinkphp5 中使用array_filter函数

thinkphp5 中使用array_filter函数

PHP
达令说 2019-03-07 06:15:19
thinkphp5 中使用array_filter函数,第二个参数出错,请教大神要怎样修改。谢谢 <?php namespace app\controller; class Abs { public function index(){ function abc($value){ if($value!==''){ return true; }else{ return false; } } $data = [ 'a'=>1, 'b'=>0, 'c'=>true, 'd'=>false, 'e'=>0, 'f'=>'', 'd'=>null ]; return array_filter($data,'abc'); } } 报错:array_filter() expects parameter 2 to be a valid callback, function 'abc' not found or invalid function name
查看完整描述

4 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

和 namespace 有关,指定下namespace就可以了。

return array_filter($data,'\app\controller\abc');
查看完整回答
反对 回复 2019-03-18
?
喵喔喔

TA贡献1735条经验 获得超5个赞

你完全可以这样写

public function index(){
        

        $data = [
            'a'=>1,
            'b'=>0,
            'c'=>true,
            'd'=>false,
            'e'=>0,
            'f'=>'',
            'd'=>null
        ];
    
        return array_filter($data,function($value){
            if($value!==''){
                return true;
            }else{
                return false;
            }
        });
    }
查看完整回答
反对 回复 2019-03-18
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

具体报错信息是什么?

查看完整回答
反对 回复 2019-03-18
?
湖上湖

TA贡献2003条经验 获得超2个赞

第二个参数要求是一个回调函数,abc没有这个函数
function abc()
{
return true;
};

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 796 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信