Array-Daten nach mehreren Spalten gruppieren und Werte in Gruppen summieren
In dieser Situation ist es notwendig, mehrdimensionale Array-Daten basierend auf zwei zu gruppieren Spaltenwerte („Teil“ und „Typ“) und summieren die Werte einer bestimmten Spalte („Anzahl“) innerhalb jeder Gruppe. Bei einem wie beschriebenen Eingabearray ($arr1) stellt die gewünschte Ausgabe ($arr2) die gruppierten Daten mit summierten Zählwerten für jede Kombination aus „Teil“ und „Typ“ dar.
Um dieses Ergebnis zu erzielen, a Eine benutzerdefinierte Funktion kann verwendet werden:
<code class="php">function groupByPartAndType($input) { $output = Array(); foreach($input as $value) { $output_element = &$output[$value['part'] . "_" . $value['type']]; $output_element['part'] = $value['part']; $output_element['type'] = $value['type']; !isset($output_element['count']) && $output_element['count'] = 0; $output_element['count'] += $value['count']; } return array_values($output); }</code>
In dieser Funktion:
Alternativ, wenn sich beide Datenbanken auf demselben Datenbankserver befinden, werden die Gruppierungs- und Die Summierung könnte mithilfe der GROUP BY-Funktion von SQL effizient durchgeführt werden.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Array-Daten nach mehreren Spalten und summiere Werte in Gruppen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!