我的数组数据如下所示:
$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],
];
如何根据相同的“银行名称”对“金额”求和。
我的结果应该显示分组名称及其总和:
array (
'Bank BRI' => 34534534,
'Bank BCA' => 1435773657,
'Bank CIMB Niaga' => 1338303418,
'Bank BNI' => 124124,
'Bank Mandiri' => 0,
'Bank Permata' => 352352353,
)
最佳答案
因此,首先您需要 $amountsArray
以某种方式分配您列出的值。然后:
$bankTotals = array();
foreach($amountsArray as $amount)
{
$bankTotals[$amount['name']] += $amount['amount'];
}
输出:(Demo)
Warning: Undefined array key "Bank BRI"
Warning: Undefined array key "Bank BCA"
Warning: Undefined array key "Bank CIMB Niaga"
Warning: Undefined array key "Bank BNI"
Warning: Undefined array key "Bank Mandiri"
Warning: Undefined array key "Bank Permata"
array (
'Bank BRI' => 34534534,
'Bank BCA' => 1435773657,
'Bank CIMB Niaga' => 1338303418,
'Bank BNI' => 124124,
'Bank Mandiri' => 0,
'Bank Permata' => 352352353,
)
在此之后,$bankTotals
是一个以银行名称为索引的数组,其值为银行的总金额。您可以在此处根据需要使用此数组。
可能有用的一件事是另一个 foreach
循环将其全部打印出来:
foreach($bankTotals as $name => $amount)
{
echo $name.".....".$amount."\n";
}
关于php - 对一列的数组数据进行分组并对另一列的数据求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3286749/