Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm array_filter() trong PHP


Hàm array_filter() lọc các phần tử của mảng bằng hàm callback do người dùng định nghĩa. Trả về mảng mới chỉ chứa các phần tử thoả mãn điều kiện (callback trả về TRUE). Khóa được giữ nguyên.

Cú pháp

array_filter(array, callback, flag)

Tham số

  • array – Mảng cần lọc.

  • callback – Hàm lọc. Nhận giá trị (hoặc key, hoặc cả hai tùy flag), trả về TRUE để giữ, FALSE để loại. Nếu bỏ qua: loại bỏ các giá trị "falsy" (false, 0, "", null, ...).

  • flag – Chế độ truyền tham số cho callback:

    • ARRAY_FILTER_USE_KEY – Chỉ truyền key.

    • ARRAY_FILTER_USE_BOTH – Truyền cả value và key.

Giá trị trả về

Trả về mảng đã lọc (giữ khóa gốc).

Ví dụ: Lọc số chẵn

<?php
function check($arr) {
    return (!($arr & 1)); // trả về true nếu số chẵn
}
$arr1 = array(3, 6, 9, 15, 20, 30, 45, 48, 59, 66);
print_r(array_filter($arr1, "check"));
?>

Kết quả

Array ( [1] => 6 [4] => 20 [5] => 30 [7] => 48 [9] => 66 )