array_replace_recursive
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace_recursive — Sustituye recursivamente en el primer array los elementos de los otros arrays proporcionados
Descripción
function array_replace_recursive(
array $array,
array ...$replacements):
array
array_replace_recursive() es recursiva: si un valor es
un array, la misma función de sustitución le será aplicada.
Si el valor en el primer array es escalar, será sustituido
por el valor del segundo array, ya sea un escalar o un
array. Si los valores del primer y segundo array
son ambos arrays, array_replace_recursive() sustituirá
los valores recursivamente.
Parámetros
array
-
El array en el cual los elementos son sustituidos.
replacements
-
Arrays desde los cuales los elementos
pueden ser extraídos.
Valores devueltos
Devuelve un array.
Ejemplos
Ejemplo #1 Ejemplo con array_replace_recursive()
<?php
$base = array('citrus' => array("orange"), 'berries' => array("blackberry", "raspberry"));
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
print_r($basket);
$basket = array_replace($base, $replacements);
print_r($basket);
?>
El ejemplo anterior mostrará:
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
)
)
Ejemplo #2 Ejemplo con array_replace_recursive() y la recursividad
<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');
$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>
El ejemplo anterior mostrará:
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
[others] => litchis
)