PHP -> Funkcie -> Array funkcie -> array_filter
Syntax
array array_filter ( array vstup [, callback callback] )
Popis
Funkcia jazyka PHP filtruje prvky poľa pomocou volania z funkcie.
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. kľúče poľa sa zachovajú.
Príklady
<?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.
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
)
Pozri aj
array_map, array_reduce, array_walk