Hàm array_filter
Hàm array_filter lọc một mảng
bằng hàm được chỉ định. Các phần tử của mảng sẽ lần lượt
được truyền vào tham số của hàm
và, nếu hàm trả về true cho phần tử đó
- phần tử sẽ được giữ lại trong mảng, còn nếu
false - phần tử sẽ bị xóa. Trong mảng chỉ còn lại
những phần tử mà hàm
trả về true.
Nếu mảng ban đầu là mảng kết hợp, thì các khóa của nó sẽ được giữ nguyên.
Cú pháp
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Ví dụ
Hãy giữ lại trong mảng chỉ những phần tử dương:
<?php
function func($num)
{
if ($num >= 0) {
return true;
} else {
return false;
}
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Kết quả thực thi mã:
[1, 2, 3]
Ví dụ
Rút gọn điều kiện:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Kết quả thực thi mã:
[1, 2, 3]
Ví dụ
Chuyển sang hàm ẩn danh:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Kết quả thực thi mã:
[1, 2, 3]
Ví dụ
Chuyển sang hàm mũi tên:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Kết quả thực thi mã:
[1, 2, 3]
Xem thêm
-
hàm
array_map,
áp dụng một hàm cho các phần tử của mảng -
hàm
array_walk,
gọi một hàm cho các phần tử của mảng -
hàm
array_walk_recursive,
gọi đệ quy một hàm cho các phần tử của mảng -
hàm
array_reduce,
gộp một mảng