- print_r: documentation ( source)
<?php
$array = array(
'a' => 'a',
'b' => null,
'c' => array(
'a' => null,
'b' => 'b',
),
'd' => array(
'a' => null
)
);
$result = array_walk_recursive_delete($array, function ($value, $key) {
if (is_array($value)) {
return empty($value);
}
});
echo"<pre>";
print_r($result);
echo"<pre>";
function array_walk_recursive_delete(array &$array, callable $callback) {
foreach ($array as $key => &$value) {
if (is_array($value)) {
$value = array_walk_recursive_delete($value, $callback);
}
if ($value == null) {
unset($array[$key]);
}
}
return $array;
}