Funktionen array_filter
Funktionen array_filter filtrerer et array
ved hjælp af en given funktion. Elementerne i arrayet
vil blive sendt til funktionen som parameter
sekventielt, og hvis funktionen returnerer
true for et element - forbliver elementet i arrayet, men hvis
false - vil det blive fjernet. I arrayet forbliver kun
de elementer, for hvilke funktionen
returnerer true.
Hvis det oprindelige array er associativt, bevares dets nøgler.
Syntaks
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Eksempel
Lad os kun beholde de positive elementer i arrayet:
<?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);
?>
Resultatet af kodeudførelsen:
[1, 2, 3]
Eksempel
Lad os forkorte betingelsen:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Resultatet af kodeudførelsen:
[1, 2, 3]
Eksempel
Lad os ændre det til en anonym funktion:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Resultatet af kodeudførelsen:
[1, 2, 3]
Eksempel
Lad os ændre det til en pilfunktion:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Resultatet af kodeudførelsen:
[1, 2, 3]
Se også
-
funktionen
array_map,
som anvender en funktion på elementerne i et array -
funktionen
array_walk,
som kalder en funktion for elementerne i et array -
funktionen
array_walk_recursive,
som rekursivt kalder en funktion for elementerne i et array -
funktionen
array_reduce,
som reducerer et array