array_merge

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

array_mergeFusiona varios arrays en uno solo

Descripción

array_merge(array ...$arrays): array

array_merge() reúne los elementos de uno o varios arrays añadiendo los valores de uno al final del otro. El resultado es un array.

Si los arrays de entrada tienen claves en común, entonces, el valor final para esa clave sobrescribirá el anterior. Sin embargo, si los arrays contienen claves numéricas, el valor final no sobrescribirá el valor original, sino que será añadido.

Las claves numéricas de los arrays de entrada serán renumeradas en claves incrementadas partiendo de cero en el array fusionado.

Parámetros

arrays

Lista de arrays variables a fusionar.

Valores devueltos

Devuelve el array resultante. Si es llamado sin argumentos, devuelve un array vacío.

Historial de cambios

Versión Descripción
7.4.0 Esta función puede ahora ser llamada sin parámetros. Anteriormente, al menos un parámetro era requerido.

Ejemplos

Ejemplo #1 Ejemplo con 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);
?>

El resultado del ejemplo sería:

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

Ejemplo #2 Ejemplo simple con array_merge()

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

¡No olvide que los índices numéricos serán reindexados!

Array
(
    [0] => data
)

Si se desea añadir elementos del segundo array al primero sin sobrescribir o reindexar los elementos del primero, utilice el operador de unión + :

<?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);
?>

Las claves del primer array son preservadas. Si una clave existe en los 2 arrays, entonces el elemento del primero será utilizado y la clave correspondiente del segundo será ignorada.

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"
}

Ejemplo #3 Ejemplo con array_merge() con tipos no-array

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

El resultado del ejemplo sería:

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

Ver también