Regrouper les données du tableau par colonne et additionner une autre colonne pour un tableau associatif
Étant donné un tableau de données, tel que :
$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'objectif est de regrouper les données en fonction de la colonne « nom » et d'additionner les valeurs « montant » au sein de chaque groupe pour former un appartement. tableau associatif. Le résultat attendu est :
array ( 'Bank BRI' => 34534534, 'Bank BCA' => 1435773657, 'Bank CIMB Niaga' => 1338303418, 'Bank BNI' => 124124, 'Bank Mandiri' => 0, 'Bank Permata' => 352352353, )
Solution :
$bankTotals = array(); foreach ($array as $amount) { $bankTotals[$amount['name']] += $amount['amount']; }
Ce code initialise un tableau vide appelé $bankTotals. Il parcourt ensuite le tableau d'entrée, accédant à chaque sous-tableau représentant une ligne de données. Pour chaque ligne, il ajoute la valeur « montant » à la clé « nom » correspondante dans le tableau $bankTotals. Ce processus regroupe efficacement les lignes par « nom » et additionne les valeurs de « montant » en conséquence.
Sortie :
array ( 'Bank BRI' => 34534534, 'Bank BCA' => 1435773657, 'Bank CIMB Niaga' => 1338303418, 'Bank BNI' => 124124, 'Bank Mandiri' => 0, 'Bank Permata' => 352352353, )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!