Heim >Backend-Entwicklung >PHP-Problem >So summieren Sie Array-Gruppen in PHP

So summieren Sie Array-Gruppen in PHP

PHPz
PHPzOriginal
2023-04-27 09:03:05598Durchsuche

In der Programmiersprache PHP müssen wir häufig mit Arrays arbeiten. Unter diesen Operationen ist die Gruppensummierung von Arrays eine sehr häufige Anforderung, insbesondere in statistischen Analysen, Datenverarbeitungs- und Finanzanwendungsszenarien. In diesem Artikel wird erläutert, wie Sie mit PHP die folgenden Arrays gruppieren und summieren.

Zuerst haben wir ein Array $aSalesRecord, das Produktverkaufsdatensätze enthält. Jedes Element ist ein Array von Verkaufsdatensätzen, einschließlich drei Feldern: Produktname, Verkaufspreis und Verkaufsmenge. Die Array-Struktur ist wie folgt:

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

Jetzt müssen wir dieses Array gruppieren und summieren, Das heißt, Verkaufsdatensätze werden nach Produktnamen gruppiert und die Summe der Verkaufsbeträge innerhalb jeder Gruppe berechnet. Dies kann auf folgende Weise erreicht werden:

$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;
}

Im obigen Code definieren wir zunächst ein leeres Array $groupedSales, um Verkaufsdatensätze gruppiert nach Produktnamen zu speichern. Anschließend durchlaufen wir das ursprüngliche Verkaufsdatensatz-Array $aSalesRecord. Für jeden Verkaufsdatensatz nehmen wir die drei Felder Produktname, Verkaufspreis und Verkaufsmenge heraus und gruppieren sie nach dem Produktnamen. Wenn der aktuelle Produktname nicht im Array $groupedSales vorhanden ist, erstellen Sie ein neues Array-Element mit dem Schlüssel als Produktnamen und initialisieren Sie die Gesamtverkaufsmenge und den Gesamtverkaufsbetrag auf 0. Addieren Sie dann die Menge des aktuellen Verkaufsdatensatzes zur Gesamtverkaufsmenge und den Verkaufsbetrag des aktuellen Verkaufsdatensatzes zum Gesamtverkaufsbetrag. Auf diese Weise speichert das Array $groupedSales nach dem Durchlaufen aller Verkaufsdatensätze die nach Produktnamen gruppierten Verkaufsdatensätze und enthält außerdem die Werte der Gesamtverkaufsmenge und des Gesamtverkaufsbetrags in jeder Gruppe.

Um die Richtigkeit des obigen Codes zu überprüfen, können wir die Funktion var_dump() verwenden, um den Inhalt des $groupedSales-Arrays zu drucken, wie unten gezeigt:

var_dump($groupedSales);

Nachdem der obige Code ausgeführt wurde , werden die folgenden Ergebnisse ausgegeben:

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

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

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

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

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

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

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

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

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

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

}
}

Wie aus der obigen Ausgabe ersichtlich ist, enthält das Array $groupedSales nach Produktnamen gruppierte Verkaufsdatensätze. Es berechnet auch die Summe des Verkaufsbetrags und der Summe der Verkäufe Menge in jeder Gruppe.

Im Allgemeinen ist das Gruppieren und Summieren von Arrays in PHP eine sehr einfache Angelegenheit. Durchlaufen Sie einfach das ursprüngliche Array, verarbeiten Sie dann jedes Element nach Bedarf, weisen Sie es der entsprechenden Gruppe zu und zählen Sie schließlich einfach die Summe der Elemente in jeder Gruppe . Für einige komplexere gruppierte Summenoperationen können Sie zur Implementierung auch andere erweiterte Datentypen von PHP (z. B. Hash-Tabellen, Bäume usw.) verwenden. In jedem Fall ist es wichtig, die leistungsstarken Funktionen von PHP voll auszunutzen, um die Programmiereffizienz und die Lesbarkeit des Codes zu verbessern.

Das obige ist der detaillierte Inhalt vonSo summieren Sie Array-Gruppen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn