array_replace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replaceЗаменяет элементы массива элементами других массивов

Описание

function array_replace(array $array, array ...$replacements): array

Функция 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) "мушмула"
  }
}

Смотрите также

  • array_replace_recursive() - Рекурсивно заменяет элементы первого массива элементами других массивов
  • array_merge() - Сливает элементы массивов