ホームページ >バックエンド開発 >PHPの問題 >PHPで配列グループを合計する方法

PHPで配列グループを合計する方法

PHPz
PHPzオリジナル
2023-04-27 09:03:05600ブラウズ

PHP プログラミング言語では、配列を操作する必要がよくあります。これらの操作の中で、配列のグループ合計は、特に統計分析、データ処理、金融アプリケーションのシナリオで非常に一般的な要件です。この記事では、PHP を使用して以下の配列をグループ化して合計する方法を紹介します。

まず、製品の販売レコードを含む配列 $aSalesRecord があります。各要素は、製品名、販売価格、販売数量の 3 つのフィールドを含む販売レコードの配列です。配列構造は次のとおりです:

$aSalesRecord = array(
array('product_name' => 'A', 'price' => 10, 'quantity' => 2),
array('製品名' => 'B', '価格' => 5, '数量' => 3),
array('製品名' => 'A', '価格' = > 15, '数量' => 1),
array('製品名' => 'C', '価格' => 20, '数量' => 2),
array ( '製品名' => 'A', '価格' => 12, '数量' => 3),
array('製品名' => 'B', '価格' => 6 , '数量' => 1),
array('製品名' => 'C', '価格' => 18, '数量' => 4),
array('製品名' = > 'D', '価格' => 25, '数量' => 2),
array('製品名' => 'E', '価格' => 30, '数量' = > 1),
);

次に、この配列をグループ化して合計する必要があります。つまり、売上レコードを製品名に従ってグループ化し、売上金額の合計を計算する必要があります。各グループ。これは次の方法で実現できます:

$groupedSales = array();
foreach ($aSalesRecord as $record) {
$productName = $record['product_name'];
$price = $record['price'];
$quantity = $record['quantity'];
if (!isset($groupedSales[$productName])) {

$groupedSales[$productName] = array(
  'count' => 0,
  'total_price' => 0,
);

}
$groupedSales[$productName]['count'] = $quantity;
$groupedSales[$productName]['total_price'] = $price * $quantity;
}

上記のコードでは、まず空の配列 $groupedSales を定義して、製品名ごとにグループ化された販売レコードを保存します。次に、元の販売レコード配列 $aSalesRecord をたどり、各販売レコードについて、製品名、販売価格、販売数量の 3 つのフィールドを取り出し、製品名に従ってグループ化します。現在の製品名が $groupedSales 配列に存在しない場合は、キーを製品名として新しい配列要素を作成し、総販売数量と総販売額を 0 に初期化します。次に、現在の販売レコードの数量を総販売数量に加算し、現在の販売レコードの販売金額を総売上金額に加算します。このようにして、すべての販売レコードを走査した後、$groupedSales 配列には製品名ごとにグループ化された販売レコードが格納され、各グループの合計販売数量と合計販売金額の 2 つのフィールドの値も含まれます。

上記のコードが正しいことを検証するために、次に示すように、var_dump() 関数を使用して $groupedSales 配列の内容を出力できます。

var_dump($groupedSales) ;

上記のコードを実行すると、次の結果が出力されます:

array(5) {
["A"]=>
array(2) {

["count"]=>
int(6)
["total_price"]=>
int(107)

}
["B"]=>
配列(2) {

["count"]=>
int(4)
["total_price"]=>
int(24)

}
["C"]=>
配列(2) {

["count"]=>
int(6)
["total_price"]=>
int(128)

}
["D"]=>
配列(2) {

["count"]=>
int(2)
["total_price"]=>
int(50)

}
["E"]=>
array(2) {

["count"]=>
int(1)
["total_price"]=>
int(30)

}
}

上記の出力からわかるように、$groupedSales 配列には、製品名ごとにグループ化された売上レコードと売上が含まれています。各グループ内の金額の合計や販売数量の合計も計算されます。

一般に、PHP での配列のグループ化と合計は非常に簡単です。必要なのは、元の配列を走査し、必要に応じて各要素を処理して、対応する要素に割り当てるだけです。最後にグループ内の要素を数えます。各グループの要素の合計。より複雑なグループ化された合計演算の場合は、PHP の他の高度なデータ型 (ハッシュ テーブル、ツリーなど) を使用して実装することもできます。いずれにしても、PHP の強力な機能を最大限に活用して、プログラミングの効率とコードの読みやすさを向上させることが重要です。

以上がPHPで配列グループを合計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。