array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter --
Filtruje prvky poľa pomocou volania z funkcie
Popis
array
array_filter ( array vstup [, callback callback])
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ú.
Príklad 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.
Príklad 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().