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

Wie gruppiert und summiert man Array-Daten, um ein abgeflachtes assoziatives Array zu erstellen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-25 02:39:09902Durchsuche

How to Group and Sum Array Data to Create a Flattened Associative Array?

Array-Daten gruppieren und Werte für ein abgeflachtes assoziatives Array summieren

Bei einem Array assoziativer Daten besteht die Herausforderung darin, Elemente nach einer Spalte zu gruppieren ( B. „Name“) und Summieren von Werten aus einer anderen Spalte (z. B. „Betrag“). Das Ergebnis ist ein abgeflachtes assoziatives Array mit Gruppen als Schlüssel und summierten Beträgen als Werten.

Bereitgestellte Array-Daten

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

Lösung

Um die Array-Daten nach „Name“ zu gruppieren und die „Betrag“-Werte zu summieren, befolgen Sie diese Schritte Schritte:

  1. Initialisieren Sie ein leeres Array mit dem Namen $bankTotals.
  2. Iterieren Sie das $array mit einer foreach-Schleife.
  3. Rufen Sie für jedes Element im Array das ab Schlüssel „Name“ und „Betrag“.
  4. Wenn der Schlüssel nicht in $bankTotals vorhanden ist, setzen Sie ihn auf 0.
  5. Erhöhen Sie den „Betrag“ für den aktuellen Banknamen in $bankTotals.

Code:

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

Ausgabe:

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

Das $bankTotals-Array enthält jetzt die gruppierten und summierte Daten, mit Banknamen als Schlüssel und Gesamtbeträgen als Werten. Dieses abgeflachte assoziative Array ist für die weitere Verwendung in Ihrer Anwendung bereit.

Das obige ist der detaillierte Inhalt vonWie gruppiert und summiert man Array-Daten, um ein abgeflachtes 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