我使用此函数的两个合并递归数组:合并数组递归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循环中取得所有信息(我在递归函数中输入了数组),但好像它一遍又一遍覆盖合并数组。
感谢