Functie array_filter
De functie array_filter filtert een array
met behulp van een opgegeven functie. Aan de parameter van de functie
worden opeenvolgend de elementen van de array doorgegeven
en, als de functie voor dat element
true retourneert - blijft het element in de array, en als
false - wordt het verwijderd. In de array blijven alleen
die elementen over waarvoor de functie
true retourneert.
Als de oorspronkelijke array associatief is, dan worden de sleutels behouden.
Syntaxis
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Voorbeeld
Laten we in de array alleen positieve elementen overlaten:
<?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);
?>
Resultaat van de code-uitvoering:
[1, 2, 3]
Voorbeeld
Laten we de voorwaarde verkorten:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Resultaat van de code-uitvoering:
[1, 2, 3]
Voorbeeld
Laten we dit omzetten naar een anonieme functie:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Resultaat van de code-uitvoering:
[1, 2, 3]
Voorbeeld
Laten we dit omzetten naar een pijlfunctie:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Resultaat van de code-uitvoering:
[1, 2, 3]
Zie ook
-
de functie
array_map,
die een functie toepast op elementen van een array -
de functie
array_walk,
die een functie aanroept voor elementen van een array -
de functie
array_walk_recursive,
die recursief een functie aanroept voor elementen van een array -
de functie
array_reduce,
die een array reduceert