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');
喵喔喔
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;
}
});
}
- 4 回答
- 0 关注
- 796 浏览
添加回答
举报
0/150
提交
取消