我正在尝试使用函数array_filter删除数组中的空元素。
当我使用这样的外部回调时:
function callback($a) { return !empty($a);}
$arr = array("abc",'','ghi');
$res = array_filter($arr, "callback");
它按预期工作。
但是如果我像这样使用array_filter:
$arr = array("abc",'','ghi');
$res = array_filter($arr, function($a) { return !empty($a);});
失败并显示错误:
PHP Parse error: syntax error, unexpected T_FUNCTION in test.php on line 2
我做错了什么?
答案 0 :(得分:15)
您似乎使用的PHP版本不支持anonymous functions(从PHP 5.3.0开始提供)。
但是如果你没有指定回调函数,array_filter
已经过滤了空值:
如果未提供
callback
,则input
的所有条目等于 FALSE (请参阅{{3 }})将被删除。
答案 1 :(得分:0)
适用于PHP5。检查您的PHP版本,并在必要时进行升级。