PHP

Unisci Array Con Array_merge()

Funzione array_merge() in PHP: unire due o più array in uno solo con esempi pratici e laboratorio guidato.


🤝 Unire più Array con array_merge() in PHP

La funzione array_merge() serve per unire due o più array in un unico array combinato. Gli elementi vengono aggiunti in sequenza, seguendo l’ordine con cui vengono passati alla funzione.

È una funzione molto utile quando vuoi fondere dati provenienti da più fonti o creare liste cumulative.


1. Sintassi

array_merge(array1, array2, ...);
  • array1, array2, ... → gli array da unire.
  • Ritorna: un nuovo array contenente tutti gli elementi combinati.

2. Esempio base: unire due array numerici

<?php
$a = [1, 2, 3];
$b = [4, 5, 6];

$unito = array_merge($a, $b);

print_r($unito);
?>

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)

Gli elementi dei due array sono stati uniti in un unico array sequenziale.


3. Unire più array

Puoi unire anche più di due array contemporaneamente:


<?php
$a = ["Rosso", "Verde"];
$b = ["Blu", "Giallo"];
$c = ["Viola", "Arancione"];

$colori = array_merge($a, $b, $c);

print_r($colori);
?>

Array
(
    [0] => Rosso
    [1] => Verde
    [2] => Blu
    [3] => Giallo
    [4] => Viola
    [5] => Arancione
)

4. Unire array associativi

Quando le chiavi sono **stringhe**, array_merge() sovrascrive i valori con la stessa chiave:


<?php
$a = ["nome" => "Luca", "eta" => 25];
$b = ["eta" => 30, "citta" => "Roma"];

$unito = array_merge($a, $b);

print_r($unito);
?>

Array
(
    [nome] => Luca
    [eta] => 30
    [citta] => Roma
)

Il valore di eta (25) è stato sovrascritto da quello di b (30).


5. Unire array con chiavi numeriche

Se le chiavi sono numeriche, vengono riassegnate automaticamente in sequenza:


<?php
$a = [10 => "Uno", 20 => "Due"];
$b = [30 => "Tre", 40 => "Quattro"];

$unito = array_merge($a, $b);

print_r($unito);
?>

Array
(
    [0] => Uno
    [1] => Due
    [2] => Tre
    [3] => Quattro
)

Le chiavi numeriche originali non vengono mantenute.


6. Mantenere le chiavi originali

Per unire array mantenendo le chiavi numeriche, usa + invece di array_merge():


<?php
$a = [10 => "Uno", 20 => "Due"];
$b = [30 => "Tre", 40 => "Quattro"];

$unito = $a + $b;

print_r($unito);
?>

Array
(
    [10] => Uno
    [20] => Due
    [30] => Tre
    [40] => Quattro
)

Questa tecnica è utile quando vuoi mantenere le chiavi personalizzate.


7. Differenze con altre funzioni simili
FunzioneDescrizioneMantiene chiavi
array_merge()Unisce array, reindicizza chiavi numericheNo (per chiavi numeriche)
array_merge_recursive()Unisce anche valori con chiavi uguali creando array annidatiSì
+ (operatore di unione)Unisce array mantenendo le chiaviSì


LABORATORIO

Unire più array con array_merge()

In questo laboratorio imparerai a unire più array con array_merge(), gestendo sia array numerici che associativi, e vedrai come cambiano le chiavi.


1 Unire due array semplici

Crea un file chiamato array-merge.php e inserisci questo codice:


<?php
$a = [1, 2, 3];
$b = [4, 5, 6];

echo "<h3>Array originale A:</h3>";
print_r($a);

echo "<h3>Array originale B:</h3>";
print_r($b);

$unito = array_merge($a, $b);

echo "<h3>Array unito:</h3>";
print_r($unito);
?>
    

2 Unire array associativi

Ora prova con chiavi testuali:


<?php
$a = ["nome" => "Luca", "eta" => 25];
$b = ["eta" => 30, "citta" => "Roma"];

$unito = array_merge($a, $b);

echo "<h3>Array unito associativo:</h3>";
print_r($unito);
?>
    

3 Mantenere le chiavi con l’operatore +

Usa l’operatore + per unire senza perdere le chiavi numeriche:


<?php
$a = [10 => "Uno", 20 => "Due"];
$b = [30 => "Tre", 40 => "Quattro"];

$unito = $a + $b;

echo "<h3>Array unito con chiavi mantenute:</h3>";
print_r($unito);
?>
    

4 Applicazione pratica: unire elenchi

Simuliamo la fusione di due liste (es. prodotti o utenti):


<?php
$lista1 = ["Mario", "Luca", "Anna"];
$lista2 = ["Giulia", "Paolo", "Sara"];

$completa = array_merge($lista1, $lista2);

echo "<h3>Lista utenti completa:</h3>";
foreach ($completa as $utente) {
    echo "- " . $utente . "<br>";
}
?>
    

5 Test e analisi

  • Esegui gli esempi nel browser e osserva i risultati.
  • Prova a cambiare l’ordine degli array per vedere le differenze di sovrascrittura.
  • Usa array_merge_recursive() per unire chiavi duplicate senza sovrascrivere i valori.
  • Combina questa funzione con array_unique() per rimuovere duplicati dopo la fusione.