Manuale PHP
Indietro |  | Avanti

# array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map -- Applica la funzione callback a tutti gli elementi dell'array dato

## Descrizione

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

array_map() restituisce un array contenente tutti gli elementi di arr1 dopo che è stata loro applicata la funzione callback. Il numero di parametri che la funzione callback accetta deve corrispondere al numero di array passati alla funzione array_map()

Esempio 1. Esempio di array_map()

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

In questo modo $b sarà:

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

Esempio 2. array_map() - usare più array

`<?php function mostra_Spagnolo($n, $m) { return("Il numero $n si dice $m in Spagnolo"); } function mappa_Spagnolo($n, $m) { return(array($n => $m)); } $a = array(1, 2, 3, 4, 5); $b = array("uno", "dos", "tres", "cuatro", "cinco"); $c = array_map("mostra_Spagnolo", $a, $b); print_r($c); $d = array_map("mappa_Spagnolo", $a, $b); print_r($d); ?>`

Il precedente esempio visualizzerà:

    //stampa di $c
    Array
    (
        [0] => Il numero 1 si dice uno in Spagnolo
        [1] => Il numero 2 si dice dos in Spagnolo
        [2] => Il numero 3 si dice tres in Spagnolo
        [3] => Il numero 4 si dice cuatro in Spagnolo
        [4] => Il numero 5 si dice cinco in Spagnolo
    )

    // stampa di $d
    Array
    (
        [0] => Array
            (
                [1] => uno
            )

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

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

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

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

    )

Generalmente, quando si usano due o più array, questi devono avere eguale lunghezza in quanto la funzione callback viene applicata in parallelo agli elementi corrispondenti. Se gli array sono di lunghezza diversa, il più corto verrà esteso con elementi vuoti.

Un uso interessante di questa funzione è quello di costruire un array di array, cosa che può essere facilmente ottenuta usando `NULL` come nome della funzione callback

Esempio 3. Creare un array di array

`<?php $a = array(1, 2, 3, 4, 5); $b = array("uno", "due", "tre", "quattro", "cinque"); $c = array("uno", "dos", "tres", "cuatro", "cinco"); $d = array_map(null, $a, $b, $c); print_r($d); ?>`

Il precedente esempio visualizzerà:

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

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

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

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

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

    )

Vedere anche array_filter(), array_reduce(), array_walk() e information about the callback type.

Indietro | Partenza | Avanti
array_keys | Risali | array_merge_recursive