Я использую эту функцию для двух рекурсивных массивов слияния:
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; }
Для использования этой функции я делаю следующие шаги:
Однако последний массив содержит только последнюю информацию, собранную в течение последнего цикла while. Я попытался найти решение, но до сих пор у меня это не получилось. Что я делаю не так? Рекурсивная функция принимает всю информацию во время циклов while (я напечатал входные массивы в рекурсивной функции), но кажется, что он снова и снова перезаписывает объединенный массив.
благодаря