首頁 >後端開發 >php教程 >如何對數組資料進行分組和求和以建立扁平關聯數組?

如何對數組資料進行分組和求和以建立扁平關聯數組?

Linda Hamilton
Linda Hamilton原創
2024-12-25 02:39:09908瀏覽

How to Group and Sum Array Data to Create a Flattened Associative Array?

對數組資料進行分組並對扁平關聯數組的值進行求和

給定一組關聯數據,挑戰涉及按一列將元素進行分組(例如,「名稱」)並對另一列的值進行求和(例如, '數量')。結果是一個扁平關聯數組,其中組作為鍵,求和金額作為值。

提供的陣列資料

$array = [
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 1412341234],
    ['name' => 'Bank CIMB Niaga', 'amount' => 532532552], 
    ['name' => 'Bank BRI', 'amount' => 34534534], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 453425243], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BNI', 'amount' => 124124], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 352345623], 
    ['name' => 'Bank BCA', 'amount' => 23432423], 
    ['name' => 'Bank Mandiri', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank Permata', 'amount' => 352352353],
];

要按「名稱」對數組資料進行分組並對「金額」值求和,請按照以下步驟操作:

  1. 初始化一個名為 $bankTotals 的空數組。
  2. 使用 foreach 迴圈迭代 $array。
  3. 對於陣列中的每個元素,檢索「名稱」和「金額」鍵。
  4. 如果該鍵不存在於$bankTotals,將其設為 0。
  5. 增加當前銀行名稱的“金額” $bankTotals.

代碼:

$bankTotals = array();
foreach($array as $amount)
{
  $bankTotals[$amount['name']] += $amount['amount'];
}

輸出:

array (
  'Bank BRI' => 34534534,
  'Bank BCA' => 1435773657,
  'Bank CIMB Niaga' => 1338303418,
  'Bank BNI' => 124124,
  'Bank Mandiri' => 0,
  'Bank Permata' => 352352353,
)

$bankTotals數組現在包含分組和求和的數據,以銀行名稱作為鍵,總金額作為值。這個扁平關聯數組已準備好在您的應用程式中進一步使用。

以上是如何對數組資料進行分組和求和以建立扁平關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn