thinkphp5 中使用array_filter函数

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

阅读 1.1k
评论
    4 个回答

    你完全可以这样写

    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;
                }
            });
        }
      相似问题
      推荐文章