array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtruje prvky poľa pomocou volania z funkcie
Popis
array_filter() opakuje každú hodnotu v poli vstup ich prenesením do funkcie callback . Ak funkcia callback vráti true, aktuálna hodnota sa z poľa vstup vráti do výsledného poľa. Klúče poľa sa zachovajú.
Example#1 array_filter() príklad
<?php
function odd($var)
{
return($var % 2 == 1);
}
function even($var)
{
return($var % 2 == 0);
}
$pole1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$pole2 = array (6, 7, 8, 9, 10, 11, 12);
echo "Neparne :\n";
print_r(array_filter($pole1, "odd"));
echo "Parne:\n";
print_r(array_filter($pole2, "even"));
?>
Výpis vyššie uvedeného programu bude:
Neparne : Array ( [a] => 1 [c] => 3 [e] => 5 ) Parne: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Užívatelia nemôžu zmeniť samotné pole funkcie volania, t.j. Pridať/odstrániť element, vymazať pole, na ktoré sa použil array_filter(). Ak sa zmení pole, správanie tejto funkcie nie je definované.
Ak nie je zadaná funkcia callback , array_filter() odstráni všetky položky v vstup , ktoré sú rovné FALSE. Pozri konvertovanie na boolean pre viac informácii.
Example#2 array_filter() bez callback
<?php
$polozka = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($polozka));
?>
Výstupom bude :
Array ( [0] => foo [2] => -1 )
Tiež pozri array_map(), array_reduce() a array_walk().