我发现了几个帖子,但都没有工作。尝试array_merge,array_replace_recursive,array_merge_recursive,但没有达到我的目的。组合多维数组
我想将下面的5个数组合成单个数组,但我不明白为什么年份正在改变。是不是因为什么文件说:
然而,如果数组具有相同的数字键,后来价值 不会覆盖原来的值,但将被追加。
<?php
$a['x'][2015]['s'] = "xxxxxx";
$a['x'][2015]['d'] = 1;
$b['x'][2014]['s'] = "yyyyyyyyy";
$b['x'][2014]['d'] = 3;
$c['x'][2013]['s'] = "sssssss";
$c['x'][2013]['d'] = 22;
$d['x'][2012]['s'] = "ddddddddddddd";
$d['x'][2012]['d'] = 21;
$f['x'][2011]['s'] = "ffffffff";
$f['x'][2011]['d'] = 52;
$e = array();
$e = array_replace_recursive ($e,$a);
$e = array_replace_recursive ($e,$b);
$e = array_replace_recursive ($e,$c);
$e = array_replace_recursive ($e,$d);
$e = array_replace_recursive ($e,$f);
echo json_encode($e);
?>
输出我正在 { “×”:{ “2015”:{ “S”: “XXXXXX”, “d”:1}, “2016”:{ “S”: “YYYYYYYYY”}, “2017”:{ “d”:3}, “2018”:{ “S”: “sssssss”, “d”:22}, “2019”:{ “S”: “ddddddddddddd”, “d”:21}, “2020”:{ “S”: “FFFFFFFF”, “d”:52}}}
编辑:对不起,array_replace_recursive给出正确的结果。我在phpfiddle.org模拟中做了错误的事情......
应该如何输出?请编辑你的问题。 –