簡體   English   中英

如果某些值相同,如何對數組的值求和?

[英]How to sum value of array if some values are same?

我有以下數組

Array (
    [0] => 1995,17500
    [1] => 2052,17500
    [2] => 2052,17500
    [3] => 2236,30000
    [4] => 2235,15000
    [5] => 2235,40000
);

我已經用逗號將值分解了。

foreach($array as $key=>$value) {

      $newar = explode(',', $value);
}

所以我有相似的第一個值,即$ newar [“ 0”]。 例如2235和2052。並且我想要第二個值的總和,即$ newar [“ 1”]。

如何使用PHP實現以下結果。

Array (
   [0] => 1995, 17500
   [1] => 2052, 35000
   [2] => 2036, 30000
   [3] => 2235, 55000
)

您可以創建一個新的基於數組鍵/索引的數組,並使用array_key_exists檢查該鍵是否已存在。 如果是這樣,則求和該值,否則請創建密鑰。 這不是您想要的確切結果,但是更整潔。

$newar = []; //New Array

foreach($array as $value) {
     $explArr = explode(',', $value);

     if(array_key_exists($explArr[0], $newar)){ //Check if the key already exists
        $newar[$explArr[0]] += $explArr[1]; //Sum value to existing key
     } else {
        $newar[$explArr[0]] = $explArr[1]; //Create key
     }
}

您的結果數組將如下所示:

Array (
   [1995] => 17500
   [2052] => 35000
   [2036] => 30000
   [2235] => 55000
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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