ホームページ >バックエンド開発 >PHPチュートリアル >PHPで配列データを列ごとにグループ化して合計する方法?
問題:
キーと値のペアを含む配列を指定すると、特定の列の値に基づいてデータをグループ化し、別の列のデータを合計します。たとえば、次の配列がある場合:
$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], ];
解決策:
「name」列に基づいてデータをグループ化し、 「金額」列については、次の手順に従います。
入力配列全体を反復した後、$bankTotals 配列には次の値が含まれます。銀行名をキーとして、合計金額を値として持つグループ化されたデータ。
目的を達成するためのコードは次のとおりです。出力:
$bankTotals = array(); foreach($array as $amount) { $bankTotals[$amount['name']] += $amount['amount']; } print_r($bankTotals);
出力:
Array ( [Bank BRI] => 34534534 [Bank BCA] => 1435773657 [Bank CIMB Niaga] => 1338303418 [Bank BNI] => 124124 [Bank Mandiri] => 0 [Bank Permata] => 352352353 )
以上がPHPで配列データを列ごとにグループ化して合計する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。