Funksjonen array_filter
Funksjonen array_filter filtrerer et array
ved hjelp av en gitt funksjon. I parameteren til funksjonen
vil elementene i arrayet bli sendt sekvensielt
og, hvis funksjonen returnerer
true for dette elementet - vil elementet forbli i arrayet, og hvis
false - vil det bli fjernet. I arrayet vil bare
de elementene forbli som funksjonen
returnerer true for.
Hvis det opprinnelige arrayet er assosiativt, bevares nøklene.
Syntaks
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Eksempel
La oss bare beholde de positive elementene 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);
?>
Resultat av kjøring av koden:
[1, 2, 3]
Eksempel
La oss forkorte betingelsen:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Resultat av kjøring av koden:
[1, 2, 3]
Eksempel
La oss endre til en anonym funksjon:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Resultat av kjøring av koden:
[1, 2, 3]
Eksempel
La oss endre til en pilfunksjon:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Resultat av kjøring av koden:
[1, 2, 3]
Se også
-
funksjonen
array_map,
som bruker en funksjon på elementene i arrayet -
funksjonen
array_walk,
som kaller en funksjon for elementene i arrayet -
funksjonen
array_walk_recursive,
som rekursivt kaller en funksjon for elementene i arrayet -
funksjonen
array_reduce,
som reduserer et array