Laravel-从多维数组中删除具有NULL值的元素 [英] Laravel - Remove elements having NULL value from multidimentional array
本文介绍了Laravel-从多维数组中删除具有NULL值的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Laravel 5.3
.
我有一个multidimensional array
,例如:
Array
(
[id] => 37141
[last_done_on] => []
[children] => Array
(
[0] => NULL /* This must be removed */
[1] => Array
(
[id] => 37142
[last_done_on] => Array()
[children] => Array()
)
[2] => Array
(
[id] => 37143
[last_done_on] => Array()
[children] => Array
(
[0] => Array
(
[id] => 37144
[last_done_on] => Array()
[children] => Array()
)
[1] => Array
(
[id] => 37145
[last_done_on] => Array()
[children] => Array()
)
)
)
[3] => Array
(
[id] => 37157
[last_done_on] => Array()
[children] => Array
(
[0] => Array
(
[id] => 37158
[last_done_on] => Array()
[children] => Array()
)
[1] => Array
(
[id] => 37159
[last_done_on] => Array()
[children] => Array
(
[0] => NULL /* This must be removed */
)
)
)
)
)
)
我想remove
是NULL
的elements
.所以结果应该是:
And I want to remove
the elements
that are NULL
. So the result should be like:
Array
(
[id] => 37141
[last_done_on] => []
[children] => Array
(
[0] => Array
(
[id] => 37142
[last_done_on] => Array()
[children] => Array()
)
[1] => Array
(
[id] => 37143
[last_done_on] => Array()
[children] => Array
(
[0] => Array
(
[id] => 37144
[last_done_on] => Array()
[children] => Array()
)
[1] => Array
(
[id] => 37145
[last_done_on] => Array()
[children] => Array()
)
)
)
[2] => Array
(
[id] => 37157
[last_done_on] => Array()
[children] => Array
(
[0] => Array
(
[id] => 37158
[last_done_on] => Array()
[children] => Array()
)
[1] => Array
(
[id] => 37159
[last_done_on] => Array()
[children] => Array
(
)
)
)
)
)
)
该怎么做?
推荐答案
如果要删除null
值而不是空数组,可以执行以下操作:
If you want to remove the null
values but not the empty arrays you could do something like:
function array_remove_null($item)
{
if (!is_array($item)) {
return $item;
}
return collect($item)
->reject(function ($item) {
return is_null($item);
})
->flatMap(function ($item, $key) {
return is_numeric($key)
? [array_remove_null($item)]
: [$key => array_remove_null($item)];
})
->toArray();
}
$newArray = array_remove_null($array);
希望这会有所帮助!
这篇关于Laravel-从多维数组中删除具有NULL值的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文