PHP array_replace_recursive()Функции

PHP Array 参考手册Полный справочник по массивам PHP

Примеры

Рекурсивно используйте значения второго массива ($a2) для замены значений первого массива ($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));
?>

Запустить пример »

Определение и использование

Функция array_replace_recursive() рекурсивно заменяет значения первого массива значениями последующих массивов.

Совет:Вы можете передать один массив или несколько массивов в функцию.

Если ключ существует и в первом массиве array1, и во втором массиве array2, значение в первом массиве array1 будет заменено значением во втором массиве array2. Если ключ существует только в первом массиве array1, он останется без изменений. Если ключ существует во втором массиве array2, но отсутствует в первом массиве array1, этот элемент будет создан в первом массиве array1. Если передано несколько массивов для замены, они обрабатываются последовательно, и значения последующих массивов перезапишут значения предыдущих массивов.

Примечание:Если для каждого массива не указан ключ, поведение этой функции будет таким же, как array_replace()функция.


Синтаксис

array_replace_recursive(array1,array2,array3...)

Параметр Описание
array1 Обязательный. Задаёт массив.
array2 Необязательный. Указывает массив для замены вarray1массива значений.
array3,... Необязательный. Указывает несколько массивов для замены вarray1иarray2, ...массива значений. Значения последующих массивов перезапишут значения предыдущих массивов.

Технические детали

Возвращаемое значение: Возвращает заменённый массив или NULL, если возникает ошибка.
Версия PHP: 5.3.0+


Другие примеры

Пример 1

Несколько массивов:

<?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));
?>

Запустить пример »

Пример 2

Разница между array_replace() и 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);
?>

Запустить пример »

PHP Array 参考手册Полный справочник по массивам PHP Другие расширения