[英]how to get the sum of 2 array with the same id in a collection
我有一組集合,其中出現了一些相同的情況,如下所示:
array:6 [▼
0 => Collection {#926 ▶}
1 => Collection {#926 ▶}
2 => Collection {#1045 ▶}
3 => Collection {#1045 ▶}
4 => Collection {#1156 ▶}
5 => Collection {#1156 ▶}
]
現在我想要做的是得到那些像926
這樣重復的人的總和,所以我會有2
價格來求和,因為926
出現了2
次。 我怎么能做到這一點謝謝!
使用這種方法:
// sum same keys in an array
$sum = array_sum(array_column($yourarray, 'your key/index'));
你可以這樣做。
$array = [
'0' => array(
'id' => 926,
'total' => 90,
),
'1' => array(
'id' => 926,
'total' => 10,
),
'2' => array(
'id' => 927,
'total' => 101,
),
'3' => array(
'id' => 928,
'total' => 101,
),
];
$result = array();
foreach($array as $k => $v) {
$id = $v['id'];
$result[$id][] = $v['total'];
}
$new = array();
foreach($result as $key => $value) {
$new[] = array('id' => $key, 'total' => array_sum($value));
}
echo '<pre>';
print_r($new);
輸出
Array
(
[0] => Array
(
[id] => 926
[total] => 100
)
[1] => Array
(
[id] => 927
[total] => 101
)
[2] => Array
(
[id] => 928
[total] => 101
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.