Функция PHP array_merge_recursive

array array_merge_recursive ( array array1, array array2 [, array ...] )

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

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

Пример использования array_merge_recursive()

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

Переменная $result будет содержать:

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

            [0] => blue
        )

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

 

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