PHP Функция array_replace_recursive()
Пример
Рекурсивно замените значения первого массива значениями из второго массива:
<?php
$a1=array("a"=>array("красный"),"b"=>array("зеленый","синий"),);
$a2=array("a"=>array("желтый"),"b"=>array("черный"));
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.2.0+ |
Еще примеры
Пример
Несколько массивов:
<?php
$a1=array("a"=>array("красный"),"b"=>array("зеленый","синий"));
$a2=array("a"=>array("желтый"),"b"=>array("черный"));
$a3=array("a"=>array("оранжевый"),"b"=>array("бордовый"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>
Попробуйте сами »
Пример
Различия между array_replace() и array_replace_recursive():
<?php
$a1=array("a"=>array("красный"),"b"=>array("зеленый","синий"),);
$a2=array("a"=>array("желтый"),"b"=>array("черный"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>
Попробуйте сами »
❮ PHP Справочник массивов