Forum und email

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Megsszűri a tömb elemeit egy függvény visszahívásával

Leírás

array array_filter ( array $input [, callback $function ] )

Az array_filter() végigszalad a megadott tömb minden elemén, annak értékét átadva a function paraméterben megadott függvénynek. Ha ez a függvény TRUE válasszal tér vissza, az adott tömbelem bekerül a szűrés eredményét képező tömbbe. A kulcsokat a függvény megőrzi.

Example#1 array_filter() példa

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

function 
paros($var)
{
    return(!(
$var 1));
}

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

echo 
"Páratlan számok:\n";
print_r(array_filter($tomb1"paratlan"));
echo 
"Páros számok:\n";
print_r(array_filter($tomb2"paros"));
?>

A fenti példa a következő kimenetet adja:

 
 
 
Páratlan számok: 
Array 
( 
    [a] => 1 
    [c] => 3 
    [e] => 5 
) 
Páros számok:
Array 
( 
    [0] => 6 
    [2] => 8 
    [4] => 10 
    [6] => 12 
) 

A feldolgozandó tömböt a visszahívott függvényen belül nem lehet megváltoztatni, tehát nem lehet egyik vagy másik elemét, esetleg az egész tömböt törölni. Ha ez mégis megtörténik, akkor ennek a függvénynek a viselkedését nem lehet megjósolni.

Ha a function paramétert elhagyjuk, az array_filter() minden olyan tömbelemet ki fog hagyni, melyeknek tartalma a FALSE értékkel egyenértékű. Hogy mi alapján dől ez el, bővebben a Konvertálás logikai értékké oldalon olvashatsz.

Example#2 array_filter() példa a function elhagyására

<?php

$tomb 
= array(
            
=> 'izé',
            
=> false,
            
=> -1,
            
=> null,
            
=> ''
         
);

print_r(array_filter($entry));
?>

A fenti példa a következő kimenetet adja:

Array
(
    [0] => izé
    [2] => -1
)

Lásd még: array_reduce(), array_map() és array_walk().