查詢

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函式
分享連結