array_merge

(PHP 4, PHP 5)

array_merge -- Combina dos o más matrices

Descripción

array array_merge ( array matriz1 [, array matriz2 [, array ...]] )

array_merge() combina los elementos de dos o más matrices conjuntamente de modo que los valores de una son agregados al final de los valores de la anterior. Devuelve la matriz resultante.

Si las matrices de entrada tienen las mismas claves de cadena, el último valor para cada clave reemplazará el valor previo de la misma. Si, por el contrario, las matrices tienen la misma clave numérica, esto no pasa y los valores son simplemente agregados.

Si sólo se da una matriz, y si tiene índices numéricos, los índices son reacomodados. Para matrices asociativas, los elementos duplicados se combinarán en el último. Vea el ejemplo tres para más detalles.

Ejemplo 1. Ejemplo de 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 seria:

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

Ejemplo 2. Ejemplo simple de array_merge()

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

No olvide que los índices numéricos serán reenumerados

Array
(
    [0] => data
)

Si quiere preservar completamente las matrices y solo quiere agregarlos unos a otros, use el operador + :

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

Los índices numéricos son preservados y por lo tanto la asocuación permanece.

Array
(
    [1] => data
)

Aviso

El comportamient de array_merge() fue modificado en PHP 5. A diferencia de PHP 4, la función array_merge() ahora acepta solo parámetros de tipo array. Sin embargo, puede usar forzado de tipos para convertir otros tipos. Vea el siguiente ejemplo para más detalles.

Ejemplo 3. Ejemplo PHP 5 array_merge()

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

El resultado del ejemplo seria:

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

Vea también array_merge_recursive(), array_combine(), array operators.