PHP kézikönyv
Előző |  | Következő

# 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(), array_walk() és a visszahívható (callback) típusról szóló bejegyzést.

Előző | Tartalom | Következő
array_keys | Fel | array_merge_recursive