Функция PHP array_replace()
Пример
Замените значения первого массива ($a1) значениями из второго массива ($a2):
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_replace($a1,$a2));
?>
Определение и использование
Функция array_replace() заменяет значения первого массива значениями из следующих массивов.
Совет: Вы можете назначить функции один массив или столько, сколько захотите.
Если ключ из массива1 существует в массиве2, значения из массива1 будут заменены значениями из массива2. Если ключ существует только в массиве1, он останется как есть (см. Пример 1 ниже).
Если ключ существует в массиве2, а не в массиве1, он будет создан в массиве1 (см. пример 2 ниже).
Если используется несколько массивов, значения из более поздних массивов перезапишут предыдущие (см. пример 3 ниже).
Совет: Используйте array_replace_recursive() , чтобы рекурсивно заменить значения массива1 значениями из следующих массивов.
Синтаксис
array_replace(array1, array2, array3, ...)
Значения параметров
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
Технические детали
Возвращаемое значение: | Возвращает замененный массив или NULL в случае ошибки |
---|---|
Версия PHP: | 5.3.0+ |
Дополнительные примеры
Пример 1
Если ключ из массива1 существует в массиве2, и если ключ существует только в массиве1:
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>
Пример 2
Если ключ существует в массиве2, а не в массиве1:
<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>
Пример 3
Использование трех массивов — последний массив ($a3) перезапишет предыдущие ($a1 и $a2):
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
$a3=array("orange","burgundy");
print_r(array_replace($a1,$a2,$a3));
?>
Пример 4
Использование цифровых клавиш. Если ключ существует в массиве2, а не в массиве1:
<?php
$a1=array("red","green","blue","yellow");
$a2=array(0=>"orange",3=>"burgundy");
print_r(array_replace($a1,$a2));
?>
❮ Справочник по массивам PHP