我似乎无法找到一个简单、直接的解决方案来解决从 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);
关于php - 从多维数组中递归删除空元素和子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895130/