(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.
input
Tabloul în care se iterează
callback
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)
{
// întoarce true dacă numărul întreg transmis este impar
return($var & 1);
}
function even($var)
{
// întoarce true dacă numărul întreg transmis este par
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.