加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 21:28:27 所属栏目:PHP教程 来源:网络整理
导读:我似乎无法找到一个简单,直接的解决方案来解决从 PHP中的数组中删除空元素的古老问题. 我的输入数组可能如下所示: Array ( [0] = Array ( [Name] = [EmailAddress] = ) ) (依此类推,如果有更多数据,虽然可能没有……) 如果它看起来像上面那样,我希望它在处
我似乎无法找到一个简单,直接的解决方案来解决从 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读