thinkphp5 中使用array_filter函數(shù),第二個參數(shù)出錯,請教大神要怎樣修改。謝謝
<?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條經(jīng)驗 獲得超2個贊
和 namespace 有關,指定下namespace就可以了。
return array_filter($data,'\app\controller\abc');

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超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;
}
});
}

湖上湖
TA貢獻2003條經(jīng)驗 獲得超2個贊
第二個參數(shù)要求是一個回調(diào)函數(shù),abc沒有這個函數(shù)
function abc()
{
return true;
};
- 4 回答
- 0 關注
- 839 瀏覽
添加回答
舉報
0/150
提交
取消