Функција 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,
која савија низ