插件窝 干货文章 php剔除数组中的空数据

php剔除数组中的空数据

数组 array filter 函数 595    来源:    2025-03-19

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

默认情况下,array_filter()会移除所有值为falsenull0''(空字符串)、[](空数组)等“假值”的元素。

以下是一个简单的示例,展示如何使用array_filter()剔除数组中的空数据:

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

// 使用 array_filter 剔除空数据
$filteredArray = array_filter($array);

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

输出结果将是:

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

在这个例子中,array_filter()移除了所有空字符串、null0false和空数组。

如果你想要自定义过滤条件,可以传递一个回调函数给array_filter()。例如,如果你只想移除空字符串和null,可以这样做:

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

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

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

输出结果将是:

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

    [8] => world
)

在这个例子中,只有空字符串和null被移除,其他值(包括0false和空数组)都被保留了下来。

希望这对你有帮助!