array_map
(PHP 4 >= 4.0.6, PHP 5)
array_map — Egy függvényt alkalmaz minden megadott tömb elemére
LeÃrás
Az array_map() olyan tömböt ad vissza, amelyben az arr1 tömb callback nevű függvény által kiszámolt értékei vannak. A callback függvény által fogadható paraméterek száma meg kell egyezzen az array_map()-nak átadott tömbök számával.
Example#1 array_map() példa
<?php
function kob($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("kob", $a);
print_r($b);
?>
A fenti példa a következő kimenetet adja:
Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 )
Example#2 array_map() - több tömb használata
<?php
function ird_spanyolul($n, $m)
{
return("A(z) $n spanyolul: $m");
}
function osszerendel_spanyolul($n, $m)
{
return(array($n => $m));
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("ird_spanyolul", $a, $b);
print_r($c);
$d = array_map("osszerendel_spanyolul", $a , $b);
print_r($d);
?>
A fenti példa a következő kimenetet adja:
// $c szerkezete Array ( [0] => A(z) 1 spanyolul: uno [1] => A(z) 2 spanyolul: dos [2] => A(z) 3 spanyolul: tres [3] => A(z) 4 spanyolul: cuatro [4] => A(z) 5 spanyolul: cinco ) // $d szerkezete Array ( [0] => Array ( [1] => uno ) [1] => Array ( [2] => dos ) [2] => Array ( [3] => tres ) [3] => Array ( [4] => cuatro ) [4] => Array ( [5] => cinco ) )
Több tömb használata esetén a tömbök hosszának meg kell egyeznie, mert a meghÃvott callback függvény párhuzomsan halad végig rajtuk mindig a megfelelÅ‘ elemeket használva fel. Ha a tömbök nem megegyezÅ‘ méretűek, akkor a legrövidebbek üres elemekkel lesznek feltöltve.
Ennek a függvénynek érdekes felhasználási módja, hogy tömböket tartalmazó tömböt lehet vele létrehozni, ha a callback függvényként a NULL értéket adjuk át.
Example#3 tömböket tartalmazó tömb létrehozása
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("egy", "kettő", "három", "négy", "öt");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
A fenti példa a következő kimenetet adja:
Array ( [0] => Array ( [0] => 1 [1] => egy [2] => uno ) [1] => Array ( [0] => 2 [1] => kettő [2] => dos ) [2] => Array ( [0] => 3 [1] => három [2] => tres ) [3] => Array ( [0] => 4 [1] => négy [2] => cuatro ) [4] => Array ( [0] => 5 [1] => öt [2] => cinco ) )
Lásd még: array_filter(), array_reduce(), array_walk() create_function() és a visszahÃvható (callback) tÃpusról szóló bejegyzést.