php – 以递归方式从多维数组中删除空元素和子数组

我似乎无法找到一个简单,直接的解决方案来解决PHP中的数组中删除空元素的古老问题.

我的输入数组可能如下所示:

Array ( [0] => Array ( [Name] => [EmailAddress] => ) ) 

(依此类推,如果有更多数据,虽然可能没有……)

如果它看起来像上面那样,我希望它在处理之后完全是空的.

所以print_r($array);输出

Array ( )

如果我运行$arrayX = array_filter($arrayX);我仍然得到相同的print_r输出.我看过的每个地方都暗示这是在PHP5中删除空数组元素的最简单方法.

我也试过$arrayX = array_filter($arrayX,’empty_array’);但我收到以下错误

Warning: array_filter() [function.array-filter]: The second argument, ’empty_array’, should be a valid callback

我究竟做错了什么?

解决方法:

尝试使用array_map()将过滤器应用于$array中的每个数组:

$array = array_map('array_filter', $array);
$array = array_filter($array);

演示:http://codepad.org/xfXEeApj

相关文章

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