ホームページ > バックエンド開発 > PHPチュートリアル > 配列データを 1 つの列ごとにグループ化および合計してフラット連想配列を作成する方法

配列データを 1 つの列ごとにグループ化および合計してフラット連想配列を作成する方法

Linda Hamilton
リリース: 2024-12-04 21:14:15
オリジナル
730 人が閲覧しました

How to Group and Sum Array Data by One Column to Create a Flat Associative Array?

フラット連想配列の 1 つの列の配列データをグループ化し、別の列のデータを合計する

問題:

「name」と「name」という 2 つの列を持つデータの配列が与えられたとします。 「金額」、データを「名前」でグループ化し、対応する「金額」値を合計してフラットな連想配列を形成するにはどうすればよいですか?

望ましい結果:

出力配列には、グループ化された名前がキーとして、合計金額がキーとして含まれている必要があります。

解決策:

望ましい結果を達成するには、次の手順に従います:

  1. 空の配列を初期化します $bankTotals と呼ばれます。この配列は、グループ化され合計されたデータを保存するために使用されます。
  2. foreach ループを使用して、入力配列を反復処理します
  3. 各要素について、「名前」を抽出します。
  4. 「名前」がすでにキーであるかどうかを確認します $bankTotals.
  5. 「名前」がキーではない場合、それを $bankTotals に追加し、その値を「金額」に設定します。
  6. 場合「名前」はすでにキーです。既存の値を'amount'.
  7. ループが完了すると、$bankTotals にはグループ化され合計されたデータが希望の形式で含まれます。

例:

// Assuming $array is the input array
$bankTotals = array();
foreach ($array as $amount) {
  $bankTotals[$amount['name']] += $amount['amount'];
}
ログイン後にコピー

このコードは、次のような連想配列を生成します。

注:

  • = 演算子は、$bankTotals の各 '名前' の '金額' 値を増分するために使用されます。
  • var_dump($bankTotals) を使用して、デバッグ用の出力配列を表示できます。目的。

以上が配列データを 1 つの列ごとにグループ化および合計してフラット連想配列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート