Manuale PHP
Indietro |  | Avanti

# array_merge

(PHP 4, PHP 5)

array_merge -- Fonde uno o più array

## Descrizione

array array_merge ( array array1 [, array array2 [, array ...]] )

array_merge() fonde gli elementi di uno o più array in modo che i valori di un array siano accodati a quelli dell'array precedente. Restituisce l'array risultante.

Se gli array in input hanno le stesse chiavi stringa, l'ultimo valore di quella chiave sovrascriverà i precedenti. Comunque, se gli array hanno le stesse chiavi numeriche, l'ultimo valore non sovrascriverà quello originale, bensì sarà accodato.

Se viene fornito un solo array, e questo è indicizzato numericamente, le chiavi vengono reindicizzate in una sequenza continua. Nel caso di array associativi, delle chiavi duplicate rimane solo l'ultima. Vedere l'esempio tre per ulteriori dettagli.

Esempio 1. Esempio di array_merge()

`<?php $array1 = array("colore" => "rosso", 2, 4); $array2 = array("a", "b", "colore" => "verde", "forma" => "trapezio", 4); $risultato = array_merge($array1, $array2); print_r($risultato); ?>`

La variabile $risultato sarà:

`Array ( [colore] => verde [0] => 2 [1] => 4 [2] => a [3] => b [forma] => trapezio [4] => 4 )`

Esempio 2. Esempio di array_merge()

`<?php $array1 = array(); $array2 = array(1 => "dati"); $result = array_merge($array1, $array2); ?>`

Non dimenticarsi che le chiavi numeriche saranno rinumerate!

`Array ( [0] => data )`

Se si vogliono preservare gli array e li si vuole solo concatenare, usare l'operatore +:

`<?php $array1 = array(); $array2 = array(1 => "dati"); $result = $array1 + $array2; ?>`

La chiave numerica sarà preservata e così pure l'associazione.

`Array ( [1] => data )`

Esempio 3. esempio di array_merge()

`<?php $array_uno = array(0 => "mario", 1 => "roberto", 2 => "andrea", 3 => "dante"); $array_due = array("mario => "roberto", "andrea" => "dante", "mario" => "giacomo"); unset($array_uno[2]); $risultato_uno = array_merge($array_uno); $risultato_due = array_merge($array_due); print_r($risultato_uno); print_r($risultato_due); ?>`

Il risultato sarà:

`Array ( [0] => mario [1] => roberto [2] => dante ) Array ( [mario] => giacomo [andrea] => dante )`

> Nota: Le chiavi condivise verranno sovrascritte dalla prima chiave processata.

Vedere anche array_merge_recursive() e array_combine() e operatori sugli array.

Indietro | Partenza | Avanti
array_merge_recursive | Risali | array_multisort