PHP Manualen
forrige |  | næste

# array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map -- Udfører en callback funktion på alle elementer i de givende arrays

## Beskrivelse

array array_map ( callback callback, array arr1 [, array ...] )

array_map() returnerer et array som indeholder alle elementer fra arr1 efter at have kørt dem igennem callback funktionen. Antallet af parameter callback funktionen accepterer skal være samme antal som der gives til array_map()

Eksempel 1. array_map() eksempel

`<?php function cube($n) { return($n * $n * $n); } $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b); ?>`

Ovenstående eksempel vil udskrive:

    Array
    (
        [0] => 1
        [1] => 8
        [2] => 27
        [3] => 64
        [4] => 125
    )

Eksempel 2. array_map() - ved flere arrays

`<?php function vis_spansk($n, $m) { return("Tallet $n hedder $m på spansk"); } function map_spansk($n, $m) { return(array($n => $m)); } $a = array(1, 2, 3, 4, 5); $b = array("uno", "dos", "tres", "cuatro", "cinco"); $c = array_map("vis_spansk", $a, $b); print_r($c); $d = array_map("map_spansk", $a , $b); print_r($d); ?>`

Ovenstående eksempel vil udskrive:

    // indholdet af $c
    Array
    (
        [0] => Tallet 1 hedder uno spanish
        [1] => Tallet 2 hedder dos spanish
        [2] => Tallet 3 hedder tres spanish
        [3] => Tallet 4 hedder cuatro spanish
        [4] => Tallet 5 hedder cinco spanish
    )

    // indholdet af $d
    Array
    (
        [0] => Array
            (
                [1] => uno
            )

        [1] => Array
            (
                [2] => dos
            )

        [2] => Array
            (
                [3] => tres
            )

        [3] => Array
            (
                [4] => cuatro
            )

        [4] => Array
            (
                [5] => cinco
            )

    )

Når du bruger flere arrays skulle de gerne være sammen længde, da callback funktionen behandler værdierne parellelt igennem de forskellige arrays. Hvis de ikke har samme længde, vil den korteste blive forlænget med tomme værdier.

Denne funktion kan også bruges som en smart måde at få et array af arrays. Dette kan gøres ved at bruge `NULL` som navnet på callback funktionen.

Eksempel 3. Lave et array af arrays

`<?php $a = array(1, 2, 3, 4, 5); $b = array("one", "two", "three", "four", "five"); $c = array("uno", "dos", "tres", "cuatro", "cinco"); $d = array_map(null, $a, $b, $c); print_r($d); ?>`

Ovenstående eksempel vil udskrive:

    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => one
                [2] => uno
            )

        [1] => Array
            (
                [0] => 2
                [1] => two
                [2] => dos
            )

        [2] => Array
            (
                [0] => 3
                [1] => three
                [2] => tres
            )

        [3] => Array
            (
                [0] => 4
                [1] => four
                [2] => cuatro
            )

        [4] => Array
            (
                [0] => 5
                [1] => five
                [2] => cinco
            )

    )

Se også array_filter(), array_reduce(), array_walk() og information omkring callback typen

forrige | hjem | næste
array_keys | op | array_merge_recursive