php – 使用带有回调函数的array_filter删除空数组元素

我试图用array_filter函数删除数组中的空元素.

当我使用这样的外部回调:

function callback($a) { return !empty($a);}
$arr = array("abc",'','ghi');
$res = array_filter($arr,"callback");

它按预期工作.

但是如果我像这样使用array_filter:

$arr = array("abc",function($a) { return !empty($a);});

它失败并显示错误

PHP Parse error:  Syntax error,unexpected T_FUNCTION in test.PHP on line 2

我究竟做错了什么 ?

好像您使用的是不支持 anonymous functionsPHP版本(自PHP 5.3.0起可用).

但是如果没有指定回调函数,那么array_filter确实已经过滤了空值:

If no callback is supplied,all entries of input equal to FALSE (see 07002) will be removed.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...