Funktio array_filter
Funktio array_filter suodattaa taulukon
annetun funktion avulla. Funktiolle parametrina
annetaan peräkkäin taulukon alkiot,
ja jos funktio palauttaa kyseiselle alkiolle
true - alkio pysyy taulukossa, ja jos
false - se poistetaan. Taulukkoon jäävät vain
ne alkiot, joille funktio
palauttaa true.
Jos alkuperäinen taulukko on assosiatiivinen, silloin sen avaimet säilyvät.
Syntaksi
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Esimerkki
Jätetään taulukkoon vain positiiviset alkiot:
<?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);
?>
Koodin suorituksen tulos:
[1, 2, 3]
Esimerkki
Lyhennetään ehtoa:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Koodin suorituksen tulos:
[1, 2, 3]
Esimerkki
Muutetaan anonyymiksi funktioksi:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Koodin suorituksen tulos:
[1, 2, 3]
Esimerkki
Muutetaan nuolifunktioksi:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Koodin suorituksen tulos:
[1, 2, 3]
Katso myös
-
funktion
array_map,
joka soveltaa funktiota taulukon alkioihin -
funktion
array_walk,
joka kutsuu funktiota taulukon alkioille -
funktion
array_walk_recursive,
joka kutsuu funktiota taulukon alkioille rekursiivisesti -
funktion
array_reduce,
joka tiivistää taulukon