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 )

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

To Top