array_filter

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