我有2个数组,正如您将在下面看到的,我希望将主题组合成一个数组。前两个数组具有子数组,它们的总和为一个月。结果array(3rd)必须具有同一月份的前2个数组的总和。
array:3 [
0 => array:2 [
"sum" => 179.0
"month" => "2016-01"
]
1 => array:2 [
"sum" => 34.0
"month" => "2016-02"
]
2 => array:2 [
"sum" => 67.0
"month" => "2016-03"
]
]
array:2 [
0 => array:2 [
"sum" => 143.25
"month" => "2016-01"
]
1 => array:2 [
"sum" => 479.0
"month" => "2016-03"
]
]
Total:
array:3 [
0 => array:3 [
"sum" => 313.25
"month" => "2016-01"
]
1 => array:2 [
"sum" => 34.0
"month" => "2016-02"
]
2 => array:2 [
"sum" => 546.0
"month" => "2016-03"
]
]
我试过的
for($i=0;$i<count($com1);$i++){
for ($j=0; $j < count($com2); $j++) {
if($com1[$i]['month'] == $com2[$j]['month']){
$total = $com1[$i]['sum']+$com2[$j]['sum']
}
}
}
但这并没有给我想要的结果
我有点菜鸟...希望有人能提供帮助。谢谢
尝试这个:
$com1 = [
0 => [
'sum' => 179.0,
'month' => '2016-01'
],
1 => [
'sum' => 34.0,
'month' => '2016-02'
],
2 => [
'sum' => 67.0,
'month' => '2016-03'
]
];
$com2 = [
0 => [
'sum' => 143.25,
'month' => '2016-01'
],
1 => [
'sum' => 479.0,
'month' => '2016-03'
]
];
$total = [];
foreach ($com1 as $data) {
$total[$data['month']] = $data;
}
foreach ($com2 as $data) {
if (!isset($total[$data['month']])) {
$total[$data['month']] = [
'sum' => 0,
'month' => $data['month']
];
}
$total[$data['month']]['sum'] += $data['sum'];
}
print_r($total);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句