Документация PHP
| Документация DHTML | Документация Smarty | SVG/VML Графика и JavaScript
| Документация bash |
Функции для работы с массивами
array_merge
(PHP 4, PHP 5)
array_merge — Слить два или большее количество массивов
Описание
array array_merge ( array $array1 , array $array2 [, array $... ] )
Функция array_merge() сливает элементы двух или большего количества массивов таким образом, что значения одного массива присоединяются к значениям предыдущего. Результатом работы функции является новый массив.
Если входные массивы имеют одинаковые строковые ключи, тогда каждое значение, найденное позднее, будет заменять ранее найденное значение. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.
Пример #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 )
Пример #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 )
Замечание: Общие ключи будут перезаписаны по принципу "первый пришел - первый обработан".
Внимание
Поведение функции array_merge() было изменено в PHP 5. В отличие от PHP 4, array_merge() принимает параметры только типа array. Однако вы можете использовать приведение типов. Смотрите следующий пример для уточнения подробностей.
Пример #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().