我想按条件合并数组。如果数组键匹配,则添加值,否则保留该值。如何合并两个数组并总结重复键的值?
这里是我的数组:
Array1
(
[1] => 199
[3] => 1306
[5] => 199
)
Array2
(
[3] => 199
[4] => 199
)
我期望的结果是:
Result
(
[1] => 199
[3] => 1505
[4] => 199
[5] => 199
)
我用的if-else条件,但它的重复这已经是匹配的值。
这里是我的编码尝试:
$all=array();
foreach($sall as $sskey => $ssvalue){
foreach($upgradesall as $uukey => $uuvalue){
//$sskey==$uukey?$all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue):($sskey!=$uukey? $all[] = array("id"=>$sskey, "amount"=>$ssvalue):($uukey!=$sskey?$all[] = array("id"=>$uukey, "amount"=>$uuvalue):''));
if($sskey===$uukey){
$all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue);
}elseif($sskey!=$uukey){
$all[] = array("id"=>$sskey, "amount"=>$ssvalue);
}elseif($uukey!=$sskey){
$all[] = array("id"=>$uukey, "amount"=>$uuvalue);
}
}
}
提供您想要的输出。 –
@SAHAR Don'tPanic的方法是您应该使用的最直接,最高效,最精炼的方法。它使用较少的函数调用并避免生成临时多维数组。 – mickmackusa