Forum und email

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ú.

Example#1 array_filter() príklad

<?php
function odd($var
{
    return(
$var == 1);
}

function 
even($var
{
    return(
$var == 0);
}

$pole1 = array ("a"=>1"b"=>2"c"=>3"d"=>4"e"=>5);
$pole2 = array (6789101112);

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(
             
=> 'foo',
             
=> false,
             
=> -1,
             
=> null,
             
=> ''
          
);

print_r(array_filter($polozka));
?>

Výstupom bude :

Array
(
    [0] => foo
    [2] => -1
)

Tiež pozri array_map(), array_reduce() a array_walk().