Функција array_filter
Функцијата array_filter филтрира низа
со помош на зададена функција. Во параметарот на функцијата
редовно ќе пристигнуваат елементите на низата
и, ако за тој елемент функцијата врати
true - елементот ќе остане во низата, а ако
false - ќе се избрише. Во низата ќе останат само
оние елементи за кои функцијата
врати true.
Ако оригиналната низа е асоцијативна, тогаш нејзините клучеви се зачувуваат.
Синтакса
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Пример
Ајде да оставиме во низата само позитивни елементи:
<?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);
?>
Резултат од извршувањето на кодот:
[1, 2, 3]
Пример
Да го скратиме условот:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Резултат од извршувањето на кодот:
[1, 2, 3]
Пример
Да ја претвориме во анонимна функција:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Резултат од извршувањето на кодот:
[1, 2, 3]
Пример
Да ја претвориме во стрелкова функција:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Резултат од извршувањето на кодот:
[1, 2, 3]
Погледнете ги и
-
функцијата
array_map,
која применува функција на елементите на низата -
функцијата
array_walk,
која ја повикува функцијата за елементите на низата -
функцијата
array_walk_recursive,
која рекурзивно ја повикува функцијата за елементите на низата -
функцијата
array_reduce,
која ја собира низата