Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiert und summiert man Array-Daten nach Spalten in PHP?

Wie gruppiert und summiert man Array-Daten nach Spalten in PHP?

DDD
Freigeben: 2024-12-06 13:52:12
Original
978 Leute haben es durchsucht

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

Array-Daten in einer Spalte gruppieren und Daten aus einer anderen Spalte summieren, um ein flaches assoziatives Array zu bilden

Problem:

Gruppieren Sie bei einem Array mit Schlüssel-Wert-Paaren Daten basierend auf den Werten einer bestimmten Spalte und summieren Sie Daten aus einer anderen Spalte. Wenn Sie beispielsweise das folgende Array haben:

$array = [
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 1412341234],
    ['name' => 'Bank CIMB Niaga', 'amount' => 532532552], 
    ['name' => 'Bank BRI', 'amount' => 34534534], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 453425243], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BNI', 'amount' => 124124], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 352345623], 
    ['name' => 'Bank BCA', 'amount' => 23432423], 
    ['name' => 'Bank Mandiri', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank Permata', 'amount' => 352352353],
];
Nach dem Login kopieren

Lösung:

Um die Daten basierend auf der Spalte „Name“ zu gruppieren und die Daten in der Spalte „Name“ zu summieren Führen Sie in der Spalte „Betrag“ die folgenden Schritte aus:

  1. Initialisieren Sie ein leeres Array mit dem Namen $bankTotals. Dieses Array speichert die gruppierten Daten.
  2. Iterieren Sie das Eingabearray mit einer foreach-Schleife.
  3. Überprüfen Sie für jedes Element im Array, ob das bankTotals-Array bereits einen Schlüssel enthält, der dem Namen entspricht 'Wert des aktuellen Elements.
  4. Wenn das bankTotals-Array keinen Schlüssel enthält, der dem aktuellen 'Name'-Wert entspricht, erstellen Sie einen neuen Schlüssel mit diesem Wert und legen Sie seinen Wert fest auf 0.
  5. Fügen Sie den Betragswert des aktuellen Elements zum entsprechenden Schlüssel im BankTotals-Array hinzu.

Nach der Iteration über das gesamte Eingabearray enthält das $bankTotals-Array den gruppierte Daten mit den Banknamen als Schlüssel und den summierten Beträgen als Werten.

Hier ist der Code, um das Gewünschte zu erreichen Ausgabe:

$bankTotals = array();
foreach($array as $amount)
{
  $bankTotals[$amount['name']] += $amount['amount'];
}

print_r($bankTotals);
Nach dem Login kopieren

Ausgabe:

Array
(
    [Bank BRI] => 34534534
    [Bank BCA] => 1435773657
    [Bank CIMB Niaga] => 1338303418
    [Bank BNI] => 124124
    [Bank Mandiri] => 0
    [Bank Permata] => 352352353
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie gruppiert und summiert man Array-Daten 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage