我使用此函數的兩個合併遞歸數組:合併數組遞歸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 =陣列( );
- 做一個while循環,我收集我需要
- 在while循環我打電話array_merge_recursive_distinct功能,以填補空數組遞歸
的信息。但是最終的陣列中只包含它在最後一次循環期間收集的最後信息。我試圖找到一個解決方案,但直到現在我還沒有成功。我究竟做錯了什麼? 遞歸函數在while循環中取得所有信息(我在遞歸函數中輸入了數組),但好像它一遍又一遍覆蓋合併數組。
感謝