PHP kézikönyv Előző Következő Az array_map() olyan tömböt ad vissza, amelyben az array1 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 function kob( $n) {return $n*$n*$n;} $a = array(1, 2, 3, 4, 5); $b = array_map("kob", $a); Így a $b tömb értéke: Példa 2. array_map() - több tömb használata 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); / / $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 $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 program kimenete, a $d tömb szerkezete: 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() és array_reduce()! Előző Tartalom Következő Fel