递归删除空数组是通过遍历数组中的元素来实现的。如果遍历到一个元素是数组,就继续递归遍历这个数组,直到没有子数组,然后判断当前数组是否为空,如果为空,则删除它。下面是一个完整的示例。
function removeEmptyArrays(&$array) {
foreach ($array as $key => $value) {
if (is_array($value)) {
removeEmptyArrays($array[$key]);
if (empty($array[$key])) {
unset($array[$key]);
}
}
}
}
// 示例数组
$array = array(1, 2, array(), 3, array(4, "", array(), 5), "");
// 删除空数组
removeEmptyArrays($array);
print_r($array);
输出结果为:
Array
(
[0] => 1
[1] => 2
[3] => 3
[4] => Array
(
[0] => 4
[3] => 5
)
)
正文完