插件窝 干货文章 PHP如何去除数组中null或空的元素

PHP如何去除数组中null或空的元素

字符串 array null 元素 955    来源:    2025-03-16

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

默认情况下,array_filter()会移除所有值为false的元素,包括null、空字符串、0false等。如果你只想移除null和空字符串,可以自定义回调函数。

以下是一个示例代码:

<?php
// 示例数组
$array = [1, null, "hello", "", 0, false, "world", " ", "0"];

// 使用array_filter去除null和空字符串
$filteredArray = array_filter($array, function($value) {
    // 保留非null且非空字符串的元素
    return $value !== null && $value !== '';
});

// 输出结果
print_r($filteredArray);
?>

输出结果:

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

在这个例子中,array_filter()去除了null和空字符串"",但保留了其他值,包括空格字符串" "和字符串"0"

如果你还想去除空格字符串,可以在回调函数中进一步处理:

<?php
// 示例数组
$array = [1, null, "hello", "", 0, false, "world", " ", "0"];

// 使用array_filter去除null、空字符串和空格字符串
$filteredArray = array_filter($array, function($value) {
    // 保留非null、非空字符串且非空格字符串的元素
    return $value !== null && $value !== '' && trim($value) !== '';
});

// 输出结果
print_r($filteredArray);
?>

输出结果:

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

在这个例子中,trim($value) !== ''确保了空格字符串" "也被移除。