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
array
array_map ( callback callback, array array1 [, array ...] )
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.
Példa 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
) |
|
Példa 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.
Példa 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() és
array_walk().