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
DDDOriginal
2024-12-16 12:15:17461Durchsuche

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],
];

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,
)

Lösung:

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

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,
)

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!

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