PHP Array Merge: How to Combine Arrays Using PHP
Функция array_merge() в PHP используется для объединения двух или более массивов в один массив. Она принимает один или более аргументов, которые должны быть массивами, и возвращает новый массив, содержащий все элементы входных массивов. Если входные массивы содержат совпадающие ключи, то значения последующих ключей замещают предыдущие.
Пример использования:
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("c" => "orange", "d" => "pineapple");
$array3 = array("b" => "blueberry", "e" => "pear");
$result = array_merge($array1, $array2, $array3);
print_r($result);
Результат:
Array
(
[a] => apple
[b] => blueberry
[c] => orange
[d] => pineapple
[e] => pear
)
В этом примере мы создали три массива и объединили их с помощью функции array_merge(). Значение "blueberry" для ключа "b" во втором массиве заменило значение "banana" в первом массиве.
Также можно объединять более двух массивов. Например:
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("c" => "orange", "d" => "pineapple");
$array3 = array("b" => "blueberry", "e" => "pear");
$array4 = array("a" => "apricot", "f" => "cherry");
$result = array_merge($array1, $array2, $array3, $array4);
print_r($result);
Результат:
Array
(
[a] => apricot
[b] => blueberry
[c] => orange
[d] => pineapple
[e] => pear
[f] => cherry
)
В этом примере мы добавили четвертый массив, в котором значение "apricot" для ключа "a" заменило значение "apple" из первого массива.
Важно отметить, что функция array_merge() не сортирует ключи в результирующем массиве. Если нужна сортировка, можно использовать функцию ksort().
Также стоит упомянуть функцию array_merge_recursive(), которая объединяет два или более массивов рекурсивно. Это означает, что если значение ключа входного массива является массивом, то эти массивы будут объединены рекурсивно.
Пример использования:
$array1 = array("a" => array("apple"), "b" => array("banana"));
$array2 = array("c" => array("orange"), "b" => array("blueberry"));
$result = array_merge_recursive($array1, $array2);
print_r($result);
Результат:
Array
(
[a] => Array
(
[0] => apple
)
[b] => Array
(
[0] => banana
[1] => blueberry
)
[c] => Array
(
[0] => orange
)
)
В этом примере мы создали два массива, каждый из которых содержит массивы значений для некоторых ключей. Функция array_merge_recursive() объединяет массивы рекурсивно, что позволяет объединить массивы значений для ключа "b" в один массив.