array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtrerer elementer i et array ved brug af en callback funktion
Beskrivelse
array_filter() kontrollere alle værdier i input arrayet ved at kører dem igennem callback funktionen. Hvis callback funktionen returnere korrekt, vil den aktuelle værdi fra input arrayet, blive indsat i det endelige array. Nøglerne vil blive overført direkte.
Example#1 array_filter() eksempel
<?php
function ulige($var)
{
return($var % 2 == 1);
}
function lige($var)
{
return($var % 2 == 0);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Ulige :\n";
print_r(array_filter($array1, "ulige"));
echo "Lige:\n";
print_r(array_filter($array2, "lige"));
?>
Ovenstående eksempel vil udskrive:
Ulige : Array ( [a] => 1 [c] => 3 [e] => 5 ) Lige: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Man må ikke ændre direkte i arrayet igennem callback funktionen. F.eks. Tilføje/slette et element, nulstille et array som array_filter() er tilknyttet til. Hvis arrayet bliver ændret vil resultatet af denne funktion bliver udefineret.
Hvis callback funktionen ikke er sat vil array_filter() fjerne alle elementer af input arrayet, som betyder det samme som FALSE. Læs mere om konvertering til boleansk værdi.
Example#2 array_filter() uden callback
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
Ovenstående eksempel vil udskrive:
Array ( [0] => foo [2] => -1 )
Se også array_map(), array_reduce() og array_walk().