插件窝 干货文章 php去掉数组为空

php去掉数组为空

array 函数 回调 数组 31    来源:    2025-03-19

在PHP中,你可以使用array_filter()函数来去掉数组中的空值。array_filter()函数会遍历数组中的每个元素,并将每个元素传递给回调函数。如果回调函数返回true,则该元素会被保留在数组中;如果返回false,则该元素会被移除。

如果你想简单地去掉数组中的空值(例如nullfalse0""array()等),你可以直接使用array_filter()而不传递回调函数。在这种情况下,array_filter()会默认移除所有值为false的元素。

以下是一个示例:

<?php
$array = [1, 2, null, '', 0, false, 'hello', []];

// 使用 array_filter 去掉空值
$filteredArray = array_filter($array);

print_r($filteredArray);
?>

输出结果将是:

Array
(
    [0] => 1
    [1] => 2
    [6] => hello
)

在这个例子中,null""0false[] 都被移除了。

如果你只想移除特定的空值(例如只移除null),你可以传递一个自定义的回调函数:

<?php
$array = [1, 2, null, '', 0, false, 'hello', []];

// 自定义回调函数,只移除 null
$filteredArray = array_filter($array, function($value) {
    return $value !== null;
});

print_r($filteredArray);
?>

输出结果将是:

Array
(
    [0] => 1
    [1] => 2
    [3] => 
    [4] => 0
    [5] => 
    [6] => hello
    [7] => Array
        (
        )

)

在这个例子中,只有null被移除了,其他值(包括""0false[])都被保留了。

根据你的需求,你可以选择使用默认的array_filter()或者自定义回调函数来去掉数组中的空值。