Подставить элемент одного ассоциативного массива в другой с сохранением всех ключей

Необходимо из одного массива подставить элемент в другой ассоциативный многомерный массив. Глубина массива не ограничена, могут быть разные уровни вложенности. Ассоциативным массивом называю тот, у которого ключи не являются цифрами. Например,

Array1:

[
   options => [
      opt1 => [
         param1 => [1,2,3,4,5],
         param3 => "param3"
      ]
   ],
   styles => "style"
]

Array2:

[
   options => [
      opt1 => [
         param1 => [1,2,3,4,5],
         param2 => "param2"
      ],
      opt2 => [
         param1 => [1,2,3,4,5]
      ]
   ],
   styles => "style"
]

Result:

    [
       options => [
          opt1 => [
             param1 => [1,2,3,4,5],
             param2 => "param2",
             param3 => "param3"
          ],
          opt2 => [
             param1 => [1,2,3,4,5]
          ]
       ],
       styles => "style"
    ]

Исходя из примера: подставить в Array1 элементы Array2, чтобы элементы Array2 подставлялись на нужное место. Т.е. array2[options][opt1][param2] = array1[options][opt1][param2], при этом не перетерся array1[options][opt1][param3].

Буду очень вам благодарен.


Ответы (0 шт):