Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiere und summiere ich Daten in einem 2D-Array nach Spalten in PHP?

Wie gruppiere und summiere ich Daten in einem 2D-Array nach Spalten in PHP?

Patricia Arquette
Freigeben: 2024-11-09 09:15:02
Original
935 Leute haben es durchsucht

How to Group and Sum Data in a 2D Array by Column in PHP?

2D-Array-Daten nach Spalten gruppieren und summieren

In diesem Programmierszenario besteht das Ziel darin, Zeilen eines 2D-Arrays nach Spalten zu gruppieren Werte (z. B. „dd“) und summieren anschließend die Werte einer anderen Spalte („quantity“) innerhalb jeder Gruppe. Das Ergebnis ist ein reduziertes 2D-Array mit eindeutigen „dd“-Werten und aggregierten Mengeninformationen.

Beispiel:

Betrachten Sie das folgende Eingabearray:

[
    ['quantity' => 5,  'dd' => '01-Nov-2012'],
    ['quantity' => 10, 'dd' => '01-Nov-2012'],
    ['quantity' => 3,  'dd' => '02-Nov-2012'],
    ['quantity' => 4,  'dd' => '03-Nov-2012'],
    ['quantity' => 15, 'dd' => '03-Nov-2012'],
]
Nach dem Login kopieren

Das gewünschte Ausgabearray wäre:

[
    ['quantity' => 15, 'dd' => '01-Nov-2012'],
    ['quantity' => 3,  'dd' => '02-Nov-2012'],
    ['quantity' => 19, 'dd' => '03-Nov-2012'],
]
Nach dem Login kopieren

Lösung mit PHP:

Um diese Datentransformation zu erreichen, können wir die integrierten Arrays und Schleifenfunktionen von PHP nutzen:

// Input array
$in = array(array());

// Create output array
$out = array();

// Iterate through input rows
foreach ($in as $row) {
    // Check if 'dd' key exists in output array
    if (!isset($out[$row['dd']])) {
        // Initialize entry for 'dd' with empty quantity
        $out[$row['dd']] = array(
            'dd' => $row['dd'],
            'quantity' => 0,
        );
    }

    // Accumulate quantity for 'dd' key
    $out[$row['dd']]['quantity'] += $row['quantity'];
}

// Adjust output array to numerical indexing
$out = array_values($out);

// Display output array
var_dump($out);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie gruppiere und summiere ich Daten in einem 2D-Array nach Spalten in PHP?. 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