Слияние массивов рекурсивно PHP

Я использую эту функцию для двух рекурсивных массивов слияния:

function array_merge_recursive_distinct(array &$array1, array &$array2) { $merged = $array1; foreach($array2 as $key => &$value) { if(is_array($value) && isset($merged[$key]) && is_array($merged[$key])) { $merged[$key] = array_merge_recursive_distinct($merged[$key], $value); } else { $merged[$key] = $value; } } return $merged; } 

Для использования этой функции я делаю следующие шаги:

  • Объявить пустой массив $ outArray = array ();
  • Выполнение цикла while, где я собираю информацию, которая мне нужна
    • Во время цикла while я вызываю функцию array_merge_recursive_distinct, чтобы заполнить пустой массив рекурсивно

Однако последний массив содержит только последнюю информацию, собранную в течение последнего цикла while. Я попытался найти решение, но до сих пор у меня это не получилось. Что я делаю не так? Рекурсивная функция принимает всю информацию во время циклов while (я напечатал входные массивы в рекурсивной функции), но кажется, что он снова и снова перезаписывает объединенный массив.

благодаря