PHP array_filter() 函数如何使用

admin 阅读:84 2024-02-22
array_filter() 函数是 PHP 中用于过滤数组元素的函数。它会根据指定的回调函数对数组中的每个元素进行测试,并返回一个新数组,其中只包含回调函数返回 true 的元素。

该函数的语法如下:

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

参数说明:

$array:要过滤的数组。

$callback:(可选)用于过滤的回调函数。如果未提供,则默认删除数组中所有等同于 false 的元素(例如空字符串、空数组、0、null 等)。

$flag:(可选)提供给回调函数的标志,详见文档。默认为 0。

现在让我们来看一些示例来更好地理解 array_filter() 函数的使用。

示例 1:删除数组中的空值元素

$array = [1, 2, '', 3, null, 4, 0, 'hello', []];
$filtered_array = array_filter($array);
print_r($filtered_array);

输出:

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

在这个示例中,array_filter() 函数没有提供回调函数,所以它默认删除了数组中所有等同于 false 的元素,包括空字符串、null、0 和空数组。

示例 2:使用回调函数删除数组中的偶数

$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$filtered_array = array_filter($array, function($value) {
    return $value % 2 != 0;
});
print_r($filtered_array);

输出:

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

在这个示例中,我们使用了一个回调函数来删除数组中的偶数。回调函数接收每个数组元素的值,并返回 true 或 false。如果返回 true,则保留该元素;如果返回 false,则删除该元素。

以上示例展示了 array_filter() 函数的基本用法和一些常见的应用场景。
标签: print_r
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!