最近我遇到了关于将多个关联数组合并为一个的问题。使用PHP合并多个关联数组
以下是我的代码部分
//The Arrays (Top 8 from the list)
$arr1["XMLResultColumn"]["1"]["Series"] = "Column1";
$arr2["XMLResultColumn"]["1"]["Series"] = "Column2";
$arr3["XMLResultColumn"]["1"]["Categories"] = "Column3";
$arr4["XMLResultColumn"]["1"]["Values"] = "Column4";
$arr5["XMLResultColumn"]["1"]["SecondaryValues"] = "Column5";
$arr6["XMLResultColumn"]["2"]["Series"] = "Column1";
$arr7["XMLResultColumn"]["2"]["Series"] = "Column2";
$arr8["XMLResultColumn"]["2"]["Categories"] = "Column3";
我试图将它们组合起来使用array_merge_recursive
一个循环中像下面
$arr9 = array();
for($i = 1 ; $i < 9 ; $i++) {
$arr9 = array_merge_recursive($arr9 , ${"arr$i"});
}
的$arr9
输出如下:
Array ([XMLResultColumn] => Array ([1] => Array ([Series] => Column1) [2] => Array ([Series] => Column2) [3] => Array ([Categories] => Column3) [4] => Array ([Values] => Column4) [5] => Array ([SecondaryValues] => Column5) [6] => Array ([Series] => Column1) [7] => Array ([Series] => Column2) [8] => Array ([Categories] => Column3)))
我预计结果是:
Array ([XMLResultColumn] => Array ([1] => Array ([Series] => Array ([0] => Column1 [1] => Column2) [Categories] => Array ([0] => Colomn3) [Values] => Array ([0] => Column4) [SecondaryValues] => Array ([0] => Column5)) [2] => Array ([Series] => Array ([0] => Column1 [1] => Column2) [Categories] => Array ([0] => Colomn3))))
有没有什么方法可以产生如上所述的预期输出? 任何帮助表示赞赏!
谢谢你阅读这个问题。
您可以粘贴的''代替的var_dump($ arr9)''的print_r($ arr9)。?? –
问题已更新,谢谢 – MiKeNeko
您正试图实现一些* array_PUSH_recursive *结果。不能用原生函数做到这一点(一些hackish回调或需要嵌套循环)。我会退后一步,看看我是否无法正确收集这些数据。如果你在每个赋值的末尾添加'[]'并且除去数组数字(push into the array),你会得到你需要的东西(例如:'$ arr ['xml'] ['0'] [ 'something'] [] ='string1'; $ arr ['xml'] ['0'] ['something'] [] ='string2'; ...') – shudder