PHP array_replace()Функции

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

Примеры

Замените значения первого массива ($a1) значениями второго массива ($a2):

<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_replace($a1,$a2));
?>

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

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

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

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

Если ключ существует в первом массиве array1 и также во втором массиве array2, значение в первом массиве array1 будет заменено значением во втором массиве array2. Если ключ существует только в первом массиве array1, он останется без изменений. (См. пример 1 ниже)

Если ключ существует во втором массиве array2, но отсутствует в первом массиве array1, этот элемент будет создан в первом массиве array1. (См. пример 2 ниже)

Если передано несколько массивов замены, они будут обработаны по порядку, и значения из более поздних массивов перезапишут значения из более ранних массивов. (См. пример 3 ниже)

Совет:Используйтеarray_replace_recursive()для рекурсивной замены значений первого массива значениями из последующих массивов.


Синтаксис

array_replace(array1,array2,array3...)

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

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

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


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

Пример 1

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

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>

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

Пример 2

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

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

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

<?php
$a1=array("red","green","blue","yellow");
$a2=array(0=>"orange",3=>"burgundy");
print_r(array_replace($a1,$a2));
?>

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


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