Замените значения первого массива ($a1) значениями второго массива ($a2):
<?php$a1=array("красный","зеленый");$a2=array("синий","желтый");print_r(array_replace($a1,$a2));?>Функция array_replace() заменяет значения первого массива значениями следующего массива.
Совет: Вы можете передать в функцию массив или несколько массивов.
Если ключ существует в первом массиве array1, а также существует во втором массиве array2, значение в первом массиве array1 будет заменено значением во втором массиве array2. Если ключ существует только в первом массиве array1, он останется неизменным. (Подробнее см. в примере 1 ниже)
Если ключ существует во втором массиве array2, но отсутствует в первом массиве array1, элемент будет создан в первом массиве array1. (Подробнее см. в примере 2 ниже)
Если передано несколько массивов замены, они будут обработаны по порядку, а значения последующих массивов перезапишут значения предыдущих массивов. (Подробнее см. в примере 3 ниже)
Совет: Используйте array_replace_recursive() для рекурсивной замены значений первого массива значениями последующих массивов.
array_replace( массив1,массив2,массив3... )
| параметр | описывать |
|---|---|
| массив1 | Необходимый. Укажите массив. |
| массив2 | Необязательный. Указывает массив для замены значения array1 . |
| массив3,... | Необязательный. Укажите несколько массивов для замены значений array1 и array2,.... Значения в следующем массиве перезапишут значения в предыдущем массиве. |
| Возвращаемое значение: | Возвращает замененный массив или NULL в случае возникновения ошибки. |
|---|---|
| PHP-версия: | 5.3.0+ |
Если ключ существует в первом массиве array1, а также существует во втором массиве array2, значение в первом массиве array1 будет заменено значением во втором массиве array2. Если ключ существует только в первом массиве array1, он останется неизменным.
<?php$a1=array("a"=>"красный","b"=>"зеленый");$a2=array("a"=>"оранжевый","бордовый");print_r(array_replace( $a1,$a2));?>Если ключ существует во втором массиве array2, но отсутствует в первом массиве array1, элемент будет создан в первом массиве array1.
<?php$a1=array("a"=>"красный","зеленый");$a2=array("a"=>"оранжевый","b"=>"бордовый");print_r(array_replace( $a1,$a2));?>Использование трех массивов: последний массив ($a3) перезапишет предыдущие массивы ($a1 и $a2):
<?php$a1=array("красный","зеленый");$a2=array("синий","желтый");$a3=array("оранжевый","бордовый");print_r(array_replace($ а1,$а2,$а3));?>Используйте числовые ключи — если ключ существует во втором массиве array2, но отсутствует в первом массиве array1, элемент будет создан в первом массиве array1:
<?php$a1=array("красный","зеленый","синий","желтый");$a2=array(0=>"оранжевый",3=>"бордовый");print_r(array_replace($ а1,$а2));?>