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 )