array_merge
(PHP 4, PHP 5, PHP 7, PHP 8)
array_merge — Fonde uno o più array
Descrizione
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.
Example #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
)
Example #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.
Example #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);
?>
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.