ARRAY MERGE PHP С СОХРАНЕНИЕМ КЛЮЧЕЙ
Функция array_merge
в PHP объединяет несколько массивов в один. Она принимает список массивов в качестве аргументов и возвращает новый массив, в котором содержатся все элементы переданных массивов. Но если ключи массивов являются строками, то при объединении дублирующиеся ключи будут перезаписаны:
$arr1 = array('a' => 1, 'b' => 2);
$arr2 = array('a' => 3, 'c' => 4);
$result = array_merge($arr1, $arr2); // array('a' => 3, 'b' => 2, 'c' => 4)
В результате выполнения кода выше, ключ 'a' будет иметь значение 3, а не 1.
Что же делать, если нужно объединять массивы, сохраняя ключи при этом? Для такой задачи в PHP есть функция array_replace
. Она работает практически так же, как и array_merge
, но перезаписывает значения ключей в том массиве, ключ которого дублируется в другом массиве. Чтобы сохранить значения ключей, можно применить эту функцию в сочетании с функцией array_reverse
:
$arr1 = array('a' => 1, 'b' => 2);
$arr2 = array('a' => 3, 'c' => 4);
$result = array_replace(array_reverse($arr1, true), array_reverse($arr2, true));
$result = array_reverse($result, true); // array('a' => 1, 'b' => 2, 'c' => 4)
Здесь ключи массивов инвертируются функцией array_reverse
, а затем на них применяется функция array_replace
. Результат также инвертируется обратно.
How to Combine and Merge Arrays in PHP
PHP Arrays - Array Merge
How to Enter PHP Array within MySQL Database
array merge array merge recursive and array combine function website development with php
Learn PHP 8 In Arabic 2022 - #067 - Array Merge, Array Replace, Array Rand, Shuffle
array_merge \u0026 array_combine in php - how to merge two arrays in php - php tutorial - 38
Different ways to merge arrays in PHP
PHP array merge Function