Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gruppiere ich 2D-Array-Zeilen nach Spalten und summiere eine weitere Spalte?

Wie gruppiere ich 2D-Array-Zeilen nach Spalten und summiere eine weitere Spalte?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 03:31:03576Durchsuche

How to Group 2D Array Rows by Column and Sum Another Column?

2D-Array-Zeilen nach Spalte gruppieren und eine weitere Spalte summieren

Um ein gruppiertes und summiertes Ergebnis aus einem 2D-Array basierend auf einer bestimmten Spalte zu erhalten können wir die folgende Technik anwenden:

<code class="php">// Assume we have an array $array containing the data as described in the question.

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

Die Schleife durchläuft das Array und akkumuliert die Zeit, die für jede eindeutige URL-ID im $ts_by_url-Array aufgewendet wurde. Am Ende der Schleife enthält das Array $ts_by_url die gruppierten und summierten Ergebnisse, wobei die Schlüssel die URL-IDs und die Werte die insgesamt für jede URL-ID aufgewendete Zeit darstellen.

Beispielausgabe:

<code class="php">print_r($ts_by_url);
// Output:
// Array
// (
//     [2191238] => 41
//     [2191606] => 240 // == 215 + 25
// )</code>

Das obige ist der detaillierte Inhalt vonWie gruppiere ich 2D-Array-Zeilen nach Spalten und summiere eine weitere Spalte?. 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