Fusionne plusieurs tableaux en un seul

# array_merge

(PHP 4, PHP 5, PHP 7, PHP 8)

array_merge — Fusionne plusieurs tableaux en un seul

### Description

function array_merge(array `...$arrays`): array

array_merge() rassemble les éléments d'un ou de plusieurs tableaux en ajoutant les valeurs de l'un à la fin de l'autre. Le résultat est un tableau.

Si les tableaux d'entrées ont des clés en commun, alors, la valeur finale pour cette clé écrasera la précédente. Cependant, si les tableaux contiennent des clés numériques, la valeur finale n'écrasera pas la valeur originale, mais sera ajoutée.

Les clés numériques des tableaux d'entrées seront renumérotées en clés incrémentées partant de zéro dans le tableau fusionné.

### Liste de paramètres

`arrays`

  Liste de tableaux variable à fusionner.

### Valeurs de retour

Retourne le tableau résultant. Si appelé sans arguments, retourne un tableau vide.

### Historique

Version | Description
--- | ---
7.4.0 | Cette fonction peut désormais être appelée sans paramètres. Auparavant, au moins un paramètre était requis.

### Exemples

Exemple #1 Exemple avec array_merge()

    <?php
    $array1 = array("color" => "red", 2, 4);
    $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
    $result = array_merge($array1, $array2);
    print_r($result);
    ?>

L'exemple ci-dessus va afficher :

    Array
    (
        [color] => green
        [0] => 2
        [1] => 4
        [2] => a
        [3] => b
        [shape] => trapezoid
        [4] => 4
    )

Exemple #2 Exemple simple avec array_merge()

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

Il ne faut pas oublier que les index numériques seront réindexés !

    Array
    (
        [0] => data
    )

Si l'on veut ajouter des éléments du second tableau au premier sans pour autant écraser ou réindexer les éléments du premier, utiliser l'opérateur d'union `+` :

    <?php
    $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
    $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
    $result = $array1 + $array2;
    var_dump($result);
    ?>

Les clés du premier tableau sont préservées. Si une clé existe dans les 2 tableaux, alors l'élément du premier sera utilisé et la clé correspondante du second sera ignorée.

    array(5) {
      [0]=>
      string(6) "zero_a"
      [2]=>
      string(5) "two_a"
      [3]=>
      string(7) "three_a"
      [1]=>
      string(5) "one_b"
      [4]=>
      string(6) "four_b"
    }

Exemple #3 Exemple avec array_merge() avec des types non-tableaux

    <?php
    $beginning = 'foo';
    $end = array(1 => 'bar');
    $result = array_merge((array) $beginning, (array) $end);
    print_r($result);
    ?>

L'exemple ci-dessus va afficher :

    Array
    (
        [0] => foo
        [1] => bar
    )

### Voir aussi

- array_merge_recursive() - Combine un ou plusieurs tableaux ensemble, récursivement
- array_replace() - Remplace les éléments d'un tableau par ceux d'autres tableaux
- array_combine() - Crée un tableau à partir de deux autres tableaux
- les opérateurs de tableau

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open