ホームページ >バックエンド開発 >PHPチュートリアル >2D 配列内のデータを列ごとにグループ化して合計するにはどうすればよいですか?
2D 配列内のデータのグループ化と合計
このシナリオでは、特定のデータに基づいて 2D 配列の行をグループ化することを目的としています。列の値を計算し、それぞれの列内の別の列の値を合計します。 group.
入力データ:
[ ['quantity' => 5, 'dd' => '01-Nov-2012'], ['quantity' => 10, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 4, 'dd' => '03-Nov-2012'], ['quantity' => 15, 'dd' => '03-Nov-2012'], ];
望ましい結果:
[ ['quantity' => 15, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 19, 'dd' => '03-Nov-2012'], ];
実装:
これを達成するには、次の手順に従ってください:
各行について:
次の PHP コードは、このプロセスを示しています。
$in = array(array()); // your input $out = array(); foreach ($in as $row) { if (!isset($out[$row['dd']])) { $out[$row['dd']] = array( 'dd' => $row['dd'], 'quantity' => 0, ); } $out[$row['dd']]['quantity'] += $row['quantity']; } $out = array_values($out); // make the out array numerically indexed var_dump($out);
このアプローチでは、入力データを「dd」列で効果的にグループ化し、「quantity」列を合計します。各グループの値を設定し、目的の出力を生成します。
以上が2D 配列内のデータを列ごとにグループ化して合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。