Função array_replace_recursive() do PHP

Exemplo

Usar recursivamente os valores do segundo array ($a2) para substituir os valores do primeiro array ($a1):

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>

Executar exemplo

Definição e uso

A função array_replace_recursive() usa recursivamente os valores do array posterior para substituir os valores do primeiro array.

Dica:Você pode passar um array para a função, ou vários arrays.

Se uma chave existir no primeiro array array1 Também existe no segundo array array2O primeiro array array1 Os valores serão substituídos pelos valores do segundo array array2 Se uma chave existir no segundo array array1, ele permanecerá inalterado. array2, mas não existe no primeiro array array1, array1 No meio de criar esse elemento. Se forem passados vários arrays de substituição, eles serão processados em ordem, e os valores dos arrays posteriores cobrirão os valores dos arrays anteriores.

Notas:Se não for especificado uma chave para cada array, o comportamento da função será equivalente a array_replace() função.

sintaxe

array_replace_recursive(array1,array2,array3...)
...) Parâmetros
array1 Descrição
array2 Obrigatório. Especificar array array1 Opcional. Especificar arrays a substituir
array3,... Opcional. Especificar múltiplos arrays a substituir array1 e array2do array de ... . Os valores dos arrays posteriores substituirão os valores dos arrays anteriores.

Detalhes técnicos

Retorno: Retorna o array substituído, se ocorrer erro retorna NULL.
Versão PHP: 5.3.0+

Mais exemplos

Exemplo 1

Múltiplos arrays:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

Executar exemplo

Exemplo 2

Diferenças entre array_replace() e array_replace_recursive():

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>

Executar exemplo