(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace — Заменяет элементы массива элементами других массивов
Функция array_replace() создаёт новый массив и присваивает новому массиву элементы, которые извлекла из каждого ключа каждого входного массива. Функция использует значение из самого правого входного массива, если один и тот же ключ встречается в нескольких входных массивах.
Функция array_replace() не обрабатывает элементы рекурсивно, а заменяет значение каждого ключа как только встречает ключ в следующем массиве.
arrayМассив, элементы которого требуется заменить.
replacementsМассивы, из которых функция извлечёт элементы. Значения следующего массива перезаписывают значения предыдущего.
Функция возвращает массив (array).
Пример #1 Пример замены элементов массива элементами других массивов функцией array_replace()
<?php
$base = array("апельсин", "банан", "яблоко", "малина");
$replacements = array(0 => "ананас", 4 => "вишня");
$replacements2 = array(0 => "виноград");
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>Результат выполнения приведённого примера:
array(5) {
[0]=>
string(16) "виноград"
[1]=>
string(10) "банан"
[2]=>
string(12) "яблоко"
[3]=>
string(12) "малина"
[4]=>
string(10) "вишня"
}
Пример #2 Пример обработки вложенных массивов
<?php
$base = [ 'цитрусовые' => [ 'апельсин', 'лимон' ], 'семечковые' => [ 'яблоко' ] ];
$replacements = [ 'цитрусовые' => [ 'грейпфрут' ] ];
$replacements2 = [ 'цитрусовые' => [ 'кумкват', 'цитрон' ], 'семечковые' => [ 'мушмула' ] ];
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>Результат выполнения приведённого примера:
array(2) {
["цитрусовые"]=>
array(2) {
[0]=>
string(14) "кумкват"
[1]=>
string(12) "цитрон"
}
["семечковые"]=>
array(1) {
[0]=>
string(14) "мушмула"
}
}