(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.
inputTabloul în care se iterează
callbackFuncț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.