首页 > 编程笔记 > PHP笔记 阅读:26

PHP array_filter()函数的用法(附带实例)

在 PHP 程序中,array_filter() 函数可以按条件过滤数组成员,并返回由满足条件的成员组成的新数组。操作中,过滤条件由回调函数指定,此函数应返回 bool 类型的数据,返回 true 的成员会添加到新数组中。

array_filter() 函数的定义如下:
array_filter(array $array[, callable $callback[, int $flag = 0]]) : array

在下面的代码中,首先使用回调函数按值数据查找成员:
<?php
$arr = range(1,5);
print_r(array_filter($arr,function($v){return $v%2==1;}));
?>
本例中,回调函数会判断成员的值是否为奇数,这样,返回的数据就是 1、3、5(保留原成员的键)。代码执行结果为:

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


在下面的代码中,按键(索引)过滤数组成员,过滤条件是索引值为偶数的成员,代码执行结果和上例相同。
<?php
$arr = range(1, 5);
$arr1 = array_filter($arr, function($k) {
    return $k % 2 == 0;
}, ARRAY_FILTER_USE_KEY);
print_r($arr1);
?>

在下面的代码中,回调函数使用了两个参数,其中,参数一为成员的值,参数二为成员的键。
<?php
$arr = range(1, 5);
$arr1 = array_filter($arr, function($v, $k) {
    return $k % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);
print_r($arr1);
?>
回调函数中返回了索引值为偶数的成员。代码执行结果与上例相同。

相关文章