Funkcija array_filter
Funkcija array_filter filtrira polje
s pomočjo dane funkcije. V parameter funkcije
bodo zaporedoma vstopali elementi polja
in, če bo funkcija za ta element vrnila
true - bo element ostal v polju, če pa
false - bo odstranjen. V polju bodo ostali le
tisti elementi, za katere funkcija
vrne true.
Če je izvirno polje asociativno, se njegovi ključi ohranijo.
Sintaksa
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Primer
Pustimo v polju le pozitivne elemente:
<?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);
?>
Rezultat izvajanja kode:
[1, 2, 3]
Primer
Skrajšamo pogoj:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Rezultat izvajanja kode:
[1, 2, 3]
Primer
Spremenimo v anonimno funkcijo:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Rezultat izvajanja kode:
[1, 2, 3]
Primer
Spremenimo v strelično funkcijo:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Rezultat izvajanja kode:
[1, 2, 3]
Glejte tudi
-
funkcijo
array_map,
ki aplicira funkcijo na elemente polja -
funkcijo
array_walk,
ki kliče funkcijo za elemente polja -
funkcijo
array_walk_recursive,
ki rekurzivno kliče funkcijo za elemente polja -
funkcijo
array_reduce,
ki zloži polje