Функция array_merge_recursive() сливает элементы двух или более массивов таким образом, что значения одного массива присоединяются к значениям предыдущего. Результатом работы функции является новый массив.
Если входные массивы имеют одинаковые строковые ключи, тогда значения, соответствующие этим ключам, рекурсивно сливаются в один массив, таким образом, если одно из значений является массивом, функция сливает его с соответствующим значением в другом массиве. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет слито с ним.
Пример использования:
$a = array (1=>'кошка', 2=>'мышка', 4=>'сапог', 6=>'пряник', 'досуг'=>array('клоуны' =>' цирк')); $b = array ('память' => array('числа', 'слова'), 1=>'кошка', 3=>'пряник',4=> 'кино',5=> 'стакан'); $arr = array_merge_recursive ($a, $b); print_r($arr);
Array ( [0] => кошка [1] => мышка [2] => сапог [3] => пряник [досуг] => Array ( [клоуны] => цирк ) [память] => Array ( [0] => числа [1] => слова ) [4] => кошка [5] => пряник [6] => кино [7] => стакан )