Сливает элементы массивов

# array_merge

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

array_merge — Сливает элементы массивов

### Описание

function 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);

    print_r($result);

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

    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, $end);

    print_r($result);

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

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

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

- array_merge_recursive() - Рекурсивно сливает один или несколько массивов
- array_replace() - Заменяет элементы массива элементами других массивов
- array_combine() - Создаёт новый массив с ключами из значений одного массива и значениями из значений другого
- Операторы работы с массивами

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open