array_merge

(PHP 4, PHP 5)

array_merge -- Funde um ou mais arrays

Descrição

array array_merge ( array array1 [, array array2 [, array ...]] )

array_merge() funde os elementos dois ou mais arrays de forma que os elementos de um são colocados no final do array anterior. Retorna o array resultante da fusão.

Se os arrays dados têm as mesmas chaves string, então o último valor para uma chave irá sobrescrever o valor anterior. Se, no entanto, os arrays tem as mesmas chaves numéricas, o último valor para uma chave não sobrescreverá o valor original, e sim adicionado ao array resultante.

Se apenas uma array é dada e a array é indexada numericamente, as chaves são reindexadas de uma maneira continua.

Exemplo 1. Exemplo de array_merge()

<?php
$array1
= array("cor" => "vermelho", 2, 4);
$array2 = array("a", "b", "cor" => "verde", "forma" => "trapezoide", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

O exemplo acima irá imprimir:

Array
(
    [cor] => verde
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [forma] => trapezoide
    [4] => 4
)

Exemplo 2. Exemplo simples de array_merge()

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

Não esqueça que as chaves numéricas serão reordenadas!

Array
(
    [0] => data
)

Se você quer preservar os arrays e apenas concatená-los, o operador +:

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

As chaves numéricas serão preservadas e as associações originais permanecem.

Array
(
    [1] => data
)

Atenção

O funcionamento de array_merge() foi modificado no PHP 5. Diferentemente do PHP 4, array_merge() agora aceita parâmetros do tipo array. Entretanto, você pode mudar o tipo para fundir outros tipos. Veja o exemplo abaixo para detalhes.

Exemplo 3. Exemplo de array_merge() no PHP 5

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

O exemplo acima irá imprimir:

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

Veja também array_merge_recursive() e array_combine().