English | 简体中文 | 繁體中文
查询

array_filter()函数—用法及示例

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


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

用法:

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

参数:

  • $array:必需,要过滤的数组。
  • $callback:可选,指定一个回调函数来过滤数组中的元素。如果未指定回调函数,则会删除值为 falsenull''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
        )
)
补充纠错
上一个函数: array_fill_keys()函数
下一个函数: array_flip()函数
热门PHP函数
分享链接