Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiert und summiert man Array-Daten nach Spalten in PHP, um ein assoziatives Array zu erstellen?

Wie gruppiert und summiert man Array-Daten nach Spalten in PHP, um ein assoziatives Array zu erstellen?

DDD
Freigeben: 2024-12-16 12:15:17
Original
453 Leute haben es durchsucht

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

Array-Daten nach Spalte gruppieren und eine weitere Spalte für assoziatives Array summieren

Gegebenes Datenarray, z. B.:

$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

Das Ziel besteht darin, die Daten basierend auf der Spalte „Name“ zu gruppieren und die Werte „Betrag“ innerhalb jeder Gruppe zu summieren, um eine flache Assoziative zu bilden Array. Die erwartete Ausgabe ist:

array (
  'Bank BRI' => 34534534,
  'Bank BCA' => 1435773657,
  'Bank CIMB Niaga' => 1338303418,
  'Bank BNI' => 124124,
  'Bank Mandiri' => 0,
  'Bank Permata' => 352352353,
)
Nach dem Login kopieren
Nach dem Login kopieren

Lösung:

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

Dieser Code initialisiert ein leeres Array namens $bankTotals. Anschließend wird das Eingabearray durchlaufen und auf jedes Unterarray zugegriffen, das eine Datenzeile darstellt. Für jede Zeile wird der Wert „amount“ zum entsprechenden Schlüssel „name“ im Array $bankTotals hinzugefügt. Dieser Prozess gruppiert Zeilen effektiv nach „Name“ und summiert die „Betrag“-Werte entsprechend.

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie gruppiert und summiert man Array-Daten nach Spalten in PHP, um ein assoziatives Array zu erstellen?. 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