Новости | Документация | Download | Webboard | FAQ | Поиск | Контакты


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(=> 'bar');
$result array_merge((array)$beginning, (array)$end);
print_r($result);
?>

Результат выполнения данного примера:

Array
(
    [0] => foo
    [1] => bar
)

См.также array_merge_recursive().






  Copyright Apache.ru © 1999-2017, All Rights Reserved Разработка сайта: Inside.ru  
  РЕКЛАМА НА САЙТЕ: |