array_merge

(PHP 4, PHP 5, PHP 7, PHP 8)

array_mergeСливает один или несколько массивов

Описание

array_merge(array ...$arrays): array

Функция сливает элементы одного или нескольких массивов так, что значения одного добавляются в конец предыдущего. Функция возвращает результирующий массив.

Каждое следующее значение ключа перезапишет предыдущее, если входные массивы содержат одинаковые строковые ключи. Следующее значение не перезапишет исходное, а добавится в конец массива, если массивы содержат одинаковые числовые ключи.

В массиве с результатами функция перенумерует возрастающими ключами начиная с нуля значения входных массивов с числовыми ключами.

Список параметров

arrays

Список массивов для слияния.

Возвращаемые значения

Функция возвращает результирующий массив. Без аргументов функция возвращает пустой массив (array).

Список изменений

Версия Описание
7.4.0 Теперь функция умеет работать без аргументов. Раньше требовался хотя бы один аргумент.

Примеры

Пример #1 Пример слияния массивов функцией array_merge()

<?php

$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()

<?php

$array1
= array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);

?>

Помните, что функция перенумерует числовые ключи!

Array
(
    [0] => data
)

Элементы второго массива добавляются в первый массив без перезаписи элементов первого массива и без переиндексации оператором объединения массивов — +:

<?php

$array1
= array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);

?>

Функция сохранит ключи первого массива. Функция возьмёт элемент первого массива, а элемент второго проигнорирует, если оба массива содержат одинаковый ключ.

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

Пример #3 Пример слияния функцией array_merge() значений, тип которых не принадлежит массиву

<?php

$beginning
= 'foo';
$end = array(1 => 'bar');
$result = array_merge((array) $beginning, (array) $end);
print_r($result);

?>

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

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

Смотрите также