(PHP 4, PHP 5)
array_merge — Слить два или большее количество массивов
Функция array_merge() сливает элементы двух или большего количества массивов таким образом, что значения одного массива присоединяются к значениям предыдущего. Результатом работы функции является новый массив.
Если входные массивы имеют одинаковые строковые ключи, тогда каждое значение, найденное позднее, будет заменять ранее найденное значение. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.
Example#1 Пример использования array_merge()
$array1 = array ("color" => "red", 2, 4);
$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge ($array1, $array2);
print_r($result);
Результат выполнения данного примера:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
Example#2 Пример простого использования array_merge()
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
Не забывайте, что числовые ключи будут перенумерованы!
Array
(
[0] => data
)
Если вы хотите полностью сохранить массивы и просто слить их вместе, используйте оператор +:
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
Array
(
[1] => data
)
Note: Общие ключи будут перезаписаны по принципу "первый пришел - первый обработан".
Поведение функции array_merge() было изменено в PHP 5. В отличие от PHP 4, array_merge() принимает параметры только типа array. Однако вы можете использовать приведение типов. Смотрите следующий пример для уточнения подробностей.
Example#3 Пример использования array_merge() с параметрами разных типов в PHP 5
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>
Результат выполнения данного примера:
Array
(
[0] => foo
[1] => bar
)
См.также array_merge_recursive().