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!
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.
|
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.