array_filter()

过滤数组中的元素,并返回一个新的数组,该数组只保留满足指定条件的元素

首字母:A

array_filter() 函数用于过滤数组中的元素,并返回一个新的数组,该数组只保留满足指定条件的元素。

用法:

array_filter(array $array, callable $callback = null, int $flag = 0): array

参数:

  • $array:必需,要过滤的数组。
  • $callback:可选,指定一个回调函数来过滤数组中的元素。如果未指定回调函数,则会删除值为 false,null,'',0 或空数组的元素。
  • $flag:可选,指定使用哪种过滤模式。默认为 0,表示不使用任何额外的过滤模式。可选的过滤模式有:
    • ARRAY_FILTER_USE_KEY:使用回调函数对数组的键进行过滤。
    • ARRAY_FILTER_USE_BOTH:使用回调函数对数组的键和值进行过滤。

示例 1:

$numbers = [1, 2, 3, 4, 5];
$filtered = array_filter($numbers, function($value) {
 return $value % 2 == 0; // 保留偶数
});
print_r($filtered);

输出:

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

示例 2:

$students = [
 ['name' => 'John', 'age' => 20],
 ['name' => 'Jane', 'age' => 18],
 ['name' => 'Tom', 'age' => 22],
];
$filtered = array_filter($students, function($student) {
 return $student['age'] >= 20; // 保留年龄大于等于 20 的学生
});
print_r($filtered);

输出:

Array
(
 [2] => Array
 (
 [name] => Tom
 [age] => 22
 )
)

同首字母函数