(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtrează elementele unui tablou utilizând o funcție de apel invers
Iterează prin fiecare valoare în tabloul input transmițând-o funcției callback. Dacă funcția callback întoarce true, valoarea curentă din input este întoarsă în tabloul rezultant. Cheile tabloului sunt păstrate.
Tabloul în care se iterează
Funcția de apel invers utilizată
Dacă nu este furnizată nici o funcție callback, toate înregistrările din input egale cu FALSE (vedeți convertarea în boolean) vor fi eliminate.
Întoarce tabloul filtrat.
Example #1 Exemplu array_filter()
<?php
function odd($var)
{
return($var & 1);
}
function even($var)
{
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
Exemplul de mai sus va afișa:
Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Example #2 array_filter() fără callback
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
Exemplul de mai sus va afișa:
Array ( [0] => foo [2] => -1 )
Dacă tabloul este modificat în funcția de apel invers (de ex. un element este adăugat, eliminat sau desetat) comportamentul acestei funcții este nedefinit.