php怎么递归删除空数组?

24次阅读
没有评论

递归删除空数组是通过遍历数组中的元素来实现的。如果遍历到一个元素是数组,就继续递归遍历这个数组,直到没有子数组,然后判断当前数组是否为空,如果为空,则删除它。下面是一个完整的示例。

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
        )

)
正文完
 
评论(没有评论)