PHP函数使用:如何使用array_filter()函数过滤数组中的元素
发布时间:2023-07-06 15:21:05
array_filter() 函数是 PHP 提供的一个强大的数组函数,用于过滤数组中的元素。使用该函数,可以根据指定的条件过滤出符合条件的元素,形成一个新的数组。
array_filter() 函数的基本语法如下:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
参数说明:
- $array:必需。要过滤的数组。
- $callback:可选。自定义函数或方法的名称,用于对数组元素进行过滤。如果未指定,则默认过滤掉等值 NULL、FALSE 和空字符串的元素。
- $flag:可选。用于指定过滤时的行为。可以取以下值:
- ARRAY_FILTER_USE_KEY: 使用数组的键作为参数传递给回调函数;
- ARRAY_FILTER_USE_BOTH: 使用数组的键和值都作为参数传递给回调函数。
下面是一些使用 array_filter() 函数的示例:
1. 过滤数组中的空元素:
$numbers = array(1, 2, 3, '', 5, null, 7, 8, ""); $result = array_filter($numbers); print_r($result);
输出结果:
Array
(
[0] => 1
[1] => 2
[2] => 3
[4] => 5
[6] => 7
[7] => 8
)
2. 过滤数组中的奇数:
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$result = array_filter($numbers, function($value) {
return $value % 2 == 0;
});
print_r($result);
输出结果:
Array
(
[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10
)
3. 使用回调函数过滤关联数组:
$people = array(
array('name' => 'John', 'age' => 25),
array('name' => 'Jane', 'age' => 30),
array('name' => 'Mike', 'age' => 35)
);
$result = array_filter($people, function($value) {
return $value['age'] > 30;
});
print_r($result);
输出结果:
Array
(
[2] => Array
(
[name] => Mike
[age] => 35
)
)
4. 使用 ARRAY_FILTER_USE_KEY 参数过滤数组:
$numbers = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4);
$result = array_filter($numbers, function($key) {
return strlen($key) > 3;
}, ARRAY_FILTER_USE_KEY);
print_r($result);
输出结果:
Array
(
[three] => 3
[four] => 4
)
以上是一些基本的 array_filter() 函数的使用示例,可以根据实际需求灵活应用该函数,对数组进行过滤、筛选等操作。
