2D-Array-Zeilen nach einer Spalte gruppieren und eine andere Spalte summieren
Zum Gruppieren von Zeilen in einem 2D-Array basierend auf einer bestimmten Spalte und Summieren einer anderen Spalte können Sie den folgenden Ansatz verwenden:
Angenommen, wir haben ein Array wie dieses:
<code class="php">[ ['url_id' => 2191238, 'time_spent' => 41], ['url_id' => 2191606, 'time_spent' => 215], ['url_id' => 2191606, 'time_spent' => 25] ]</code>
Um die Summe der time_spent-Werte für jede eindeutige url_id zu berechnen, können wir das folgende PHP verwenden Code:
<code class="php">$ts_by_url = array(); foreach($array as $data) { if(!array_key_exists($data['url_id'], $ts_by_url)) $ts_by_url[ $data['url_id'] ] = 0; $ts_by_url[ $data['url_id'] ] += $data['time_spent']; }</code>
In diesem Code durchlaufen wir das Array und erstellen ein Array ($ts_by_url), das durch url_id indiziert wird. Für jedes Datenelement in der Schleife prüfen wir, ob seine URL-ID in $ts_by_url vorhanden ist. Ist dies nicht der Fall, setzen wir seinen Wert auf 0. Anschließend erhöhen wir den time_spent-Wert um den time_spent im aktuellen Datenelement.
Nach Abschluss der Schleife enthält $ts_by_url die gewünschten Ergebnisse:
2191238 => 41 2191606 => 240 // == 215 + 25
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Zeilen in einem 2D-Array nach einer Spalte und summiere eine andere Spalte in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!