array_replace_recursive
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace_recursive — Substitui elementos de arrays passado no primeiro array recursivamente
Descrição
function array_replace_recursive(
array $array,
array ...$replacements):
array
array_replace_recursive() é recursivo: ele será recursivo
em arrays e aplicará o mesmo processo ao valor interno.
Quando o valor do primeiro array for escalar, ele será substituído
pelo valor do segundo array, seja ele escalar ou array.
Quando o valor no primeiro array e no segundo array são
ambos arrays, array_replace_recursive() substituirá
seus respectivos valores recursivamente.
Parâmetros
array
-
O array no qual os elementos são substituídos.
replacements
-
Arrays dos quais os elementos serão extraídos.
Valor Retornado
Returns an array.
Exemplos
Exemplo #1 Exemplo de array_replace_recursive()
<?php
$base = array('frutas_citricas' => array("laranja") , 'frutas_vermelhas' => array("amora", "framboesa"));
$substituicoes = array('frutas_citricas' => array('abacaxi'), 'frutas_vermelhas' => array('mirtilo'));
$cesta = array_replace_recursive($base, $substituicoes);
print_r($cesta);
$cesta = array_replace($base, $substituicoes);
print_r($cesta);
?>
O exemplo acima produzirá:
Array
(
[frutas_citricas] => Array
(
[0] => abacaxi
)
[frutas_vermelhas] => Array
(
[0] => mirtilo
[1] => framboesa
)
)
Array
(
[frutas_citricas] => Array
(
[0] => abacaxi
)
[frutas_vermelhas] => Array
(
[0] => mirtilo
)
)
Exemplo #2 array_replace_recursive() e recursive behavior
<?php
$base = array('frutas_citricas' => array("laranja") , 'frutas_vermelhas' => array("amora", "framboesa"), 'outras' => 'banana' );
$substituicoes = array('frutas_citricas' => 'abacaxi', 'frutas_vermelhas' => array('mirtilo'), 'outras' => array('lichia'));
$substituicoes2 = array('frutas_citricas' => array('abacaxi'), 'frutas_vermelhas' => array('mirtilo'), 'outras' => 'lichia');
$cesta = array_replace_recursive($base, $substituicoes, $substituicoes2);
print_r($cesta);
?>
O exemplo acima produzirá:
Array
(
[frutas_citricas] => Array
(
[0] => abacaxi
)
[frutas_vermelhas] => Array
(
[0] => mirtilo
[1] => framboesa
)
[outras] => lichia
)