Я искал много ответов, но никто из них не работает для меня.
Это данные, присваиваемые моему массиву $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()
)