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().