Maison > développement back-end > tutoriel php > Comment regrouper et additionner les données d'un tableau par colonne en PHP pour créer un tableau associatif ?

Comment regrouper et additionner les données d'un tableau par colonne en PHP pour créer un tableau associatif ?

DDD
Libérer: 2024-12-16 12:15:17
original
454 Les gens l'ont consulté

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

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],
];
Copier après la connexion

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,
)
Copier après la connexion
Copier après la connexion

Solution :

$bankTotals = array();
foreach ($array as $amount) {
  $bankTotals[$amount['name']] += $amount['amount'];
}
Copier après la connexion

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,
)
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal