簡體   English   中英

如何獲取集合中具有相同ID的2個數組的總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM