我一直在寻找很多答案,但没有一个对我有用。
这是分配给我的$quantities
数组的数据:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
[12] => Array([35.00] => )
[1] => Array([30.00] => )
[2] => Array([30.00] => )
)
我正在寻找一种方法来删除具有空值的子数组,例如[12]
[1]
并[2]
保留其他所有内容。
期望的结果:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
)
我在官方 php 文档上尝试了很多功能,但都没有奏效。
我用过这个:
function array_filter_recursive($array, $callback = null) {
foreach ($array as $key => & $value) {
if (is_array($value)) {
$value = array_filter_recursive($value, $callback);
} else {
if ( ! is_null($callback)) {
if ( ! $callback($value)) {
unset($array[$key]);
}
} else {
if ( ! (bool) $value) {
unset($array[$key]);
}
}
}
}
unset($value);
return $array;
}
但它只删除子数组中的元素;我需要完全删除子数组。
我不想要这个:
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
[12] => Array()
[1] => Array()
[2] => Array()
)