Web アプリケーションの継続的な開発に伴い、データの処理と分析の重要性がますます高まっています。多次元配列の使用は、Web 開発では一般的な状況です。 PHP の多次元配列の場合、グループの合計は頻繁に必要な操作です。この記事では、PHPにおける多次元配列のグループ合計の実装方法を中心に説明します。
まず、以下に示すように、製品名、販売日、および販売数量を含む多次元配列があると仮定して、例を見てみましょう:
$sales = array( array("product" => "A", "date" => "2022-01-01", "sales" => 100), array("product" => "B", "date" => "2022-01-02", "sales" => 200), array("product" => "C", "date" => "2022-01-03", "sales" => 250), array("product" => "B", "date" => "2022-01-04", "sales" => 150), array("product" => "A", "date" => "2022-01-05", "sales" => 300), array("product" => "C", "date" => "2022-01-06", "sales" => 400), );
We want to 売上の合計は次のようになります。次のコードによって実現されます:
<?php $sum = array(); // 定义存放结果的数组 foreach ($sales as $sale) { $product = $sale["product"]; // 获取产品名称 $salesAmt = $sale["sales"]; // 获取销售额 // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素 if (!array_key_exists($product, $sum)) { $sum[$product] = 0; } // 将销售额加入该产品名称对应的数组元素中 $sum[$product] += $salesAmt; } print_r($sum); // 输出结果 ?>
上記のコードの出力は次のとおりです:
Array ( [A] => 400 [B] => 350 [C] => 650 )
コードの実装の考え方は、foreach ループを使用してマルチ内の各配列を走査することです。 -次元配列要素、この要素の製品名と販売数量を取得します。そして、結果を格納した配列に商品名が既に存在するかどうかを判断し、存在しない場合には商品名をキーとした配列要素を作成します。最後に、商品名に対応する配列要素に売上数量を追加します。走査が完了すると、各製品名に対応する総販売数量が取得できます。
複数の条件に基づいてグループ化して合計することもできます。たとえば、上記の例で、製品名と販売日でグループ化して合計したい場合は、次のコードで実現できます:
<?php $sum = array(); // 定义存放结果的数组 foreach ($sales as $sale) { $product = $sale["product"]; // 获取产品名称 $date = $sale["date"]; // 获取销售日期 $salesAmt = $sale["sales"]; // 获取销售额 // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素 if (!array_key_exists($product, $sum)) { $sum[$product] = array(); } // 如果该销售日期不存在,则创建一个以该销售日期为键的数组元素 if (!array_key_exists($date, $sum[$product])) { $sum[$product][$date] = 0; } // 将销售额加入该产品名称和销售日期对应的数组元素中 $sum[$product][$date] += $salesAmt; } print_r($sum); // 输出结果 ?>
上記のコードの出力は次のとおりです:
Array ( [A] => Array ( [2022-01-01] => 100 [2022-01-05] => 300 ) [B] => Array ( [2022-01-02] => 200 [2022-01-04] => 150 ) [C] => Array ( [2022-01-03] => 250 [2022-01-06] => 400 ) )
コードの実装内容 このアイデアは前の例と似ていますが、結果を格納する配列で、各配列要素が販売日をキーとして持つ配列を作成する点が異なります。このように、商品名や発売日ごとに簡単にグループ化して集計することができます。
要約すると、PHP における多次元配列のグループ合計は一般的な操作です。実装する場合、foreach ループを使用して配列内の各配列要素を走査し、必要に応じて新しい配列要素を作成し、グループ合計関数を実現できます。もちろん、データ量が多い場合には、PHP の array_reduce() 関数などの高度な関数を使用して、対応する操作を完了し、コードの実行効率と実行速度を向上させることもできます。
以上がPHP多次元配列グループの合計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。