我正在尝试使用函数array_filter删除数组中的空元素.
当我使用这样的外部回调时:
function callback($a) { return !empty($a);}
$arr = array("abc",'','ghi');
$res = array_filter($arr, "callback");
Run Code Online (Sandbox Code Playgroud)
它按预期工作.
但是如果我像这样使用array_filter:
$arr = array("abc",'','ghi');
$res = array_filter($arr, function($a) { return !empty($a);});
Run Code Online (Sandbox Code Playgroud)
它失败并出现错误:
PHP Parse error: syntax error, unexpected T_FUNCTION in test.php on line 2
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
Gum*_*mbo 15
您似乎正在使用不支持匿名函数的PHP版本(自PHP 5.3.0起可用).
但是array_filter如果你没有指定回调函数,它是否已经过滤了空值:
如果未
callback提供,则将删除所有input等于FALSE的条目(请参阅转换为布尔值).