Рекурсивно сливает один или несколько массивов

# array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_merge_recursive — Рекурсивно сливает один или несколько массивов

### Описание

function array_merge_recursive(array `...$arrays`): array

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

Если входные массивы содержат одинаковые строковые ключи, то значения этих ключей сливаются в массив, и это делается рекурсивно, поэтому, если одно значение — массив, то функция сливает это значение с соответствующим значением в другом массиве. Однако, если массивы содержат одинаковые числовые ключи, каждое следующее значение не перезапишет исходное, а будет добавлено в конец массива.

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

`arrays`

  Список массивов для рекурсивного слияния.

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

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

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

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

### Примеры

Пример #1 Пример использования функции array_merge_recursive()

    <?php

    $ar1 = array("color" => array("favorite" => "red"), 5);
    $ar2 = array(10, "color" => array("favorite" => "green", "blue"));
    $result = array_merge_recursive($ar1, $ar2);
    print_r($result);

    ?>

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

    Array
    (
        [color] => Array
            (
                [favorite] => Array
                    (
                        [0] => red
                        [1] => green
                    )

                [0] => blue
            )

        [0] => 5
        [1] => 10
    )

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

- array_merge() - Сливает элементы массивов
- array_replace_recursive() - Рекурсивно заменяет элементы первого массива элементами других массивов

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