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.
Példa 1. array_filter() példa
<?php function paratlan($var) { return($var % 2 == 1); }
function paros($var) { return($var % 2 == 0); }
$tomb1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $tomb2 = array(6, 7, 8, 9, 10, 11, 12);
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.
Példa 2. array_filter() példa a function elhagyására
<?php
$tomb = array( 0 => 'izé', 1 => false, 2 => -1, 3 => null, 4 => '' );
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().