Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiere ich Array-Daten nach mehreren Spalten und summiere Werte in Gruppen?

Wie gruppiere ich Array-Daten nach mehreren Spalten und summiere Werte in Gruppen?

Linda Hamilton
Freigeben: 2024-11-05 13:18:02
Original
520 Leute haben es durchsucht

How to Group Array Data by Multiple Columns and Sum Values in Groups?

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 = &amp;$output[$value['part'] . "_" . $value['type']];
    $output_element['part'] = $value['part'];
    $output_element['type'] = $value['type'];
    !isset($output_element['count']) &amp;&amp; $output_element['count'] = 0;
    $output_element['count'] += $value['count'];
  }

  return array_values($output);
}</code>
Nach dem Login kopieren

In dieser Funktion:

  • Das $output-Array wird erstellt, um die gruppierten Daten zu speichern.
  • Jedes Element von $ input wird iteriert.
  • Der Schlüssel für das $output-Element wird durch Verkettung der Werte „part“ und „type“ erstellt.
  • Die Werte in $output_element werden entsprechend zugewiesen oder aktualisiert.
  • Abschließend wird array_values() verwendet, um die Werte des $output-Arrays als neues Array zurückzugeben.

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage