2D 配列データを列ごとにグループ化して合計する
このプログラミング シナリオの目的は、2D 配列の行を 1 つの列ごとにグループ化することです。値 (例: 「dd」) を計算し、その後、各グループ内の別の列の値 (「数量」) を合計します。結果は、一意の 'dd' 値と集約された数量情報を含む縮小 2D 配列です。
例:
次の入力配列を考えてみましょう:
[ ['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 を使用したソリューション:
このデータ変換を実現するには、PHP の組み込み配列を利用できます。ループ機能:
// Input array $in = array(array()); // Create output array $out = array(); // Iterate through input rows foreach ($in as $row) { // Check if 'dd' key exists in output array if (!isset($out[$row['dd']])) { // Initialize entry for 'dd' with empty quantity $out[$row['dd']] = array( 'dd' => $row['dd'], 'quantity' => 0, ); } // Accumulate quantity for 'dd' key $out[$row['dd']]['quantity'] += $row['quantity']; } // Adjust output array to numerical indexing $out = array_values($out); // Display output array var_dump($out);
以上がPHP で 2D 配列のデータを列ごとにグループ化して合計する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。