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

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

DDD
Libérer: 2024-12-06 13:52:12
original
984 Les gens l'ont consulté

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

Regrouper les données du tableau sur une colonne et additionner les données d'une autre colonne pour former un tableau associatif plat

Problème :

Étant donné un tableau contenant des paires clé-valeur, regroupez les données en fonction des valeurs d'une colonne spécifique et additionnez les données d'une autre colonne. Par exemple, si vous avez le tableau suivant :

$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

Solution :

Pour regrouper les données en fonction de la colonne « nom » et additionner les données dans le colonne « montant », suivez ces étapes :

  1. Initialisez un tableau vide appelé $bankTotals. Ce tableau stockera les données groupées.
  2. Parcourez le tableau d'entrée à l'aide d'une boucle foreach.
  3. Pour chaque élément du tableau, vérifiez si le tableau bankTotals contient déjà une clé correspondant au 'nom 'valeur de l'élément actuel.
  4. Si le tableau bankTotals ne contient pas de clé correspondant à la valeur 'nom' actuelle, créez une nouvelle clé avec cette valeur et définissez sa valeur à 0.
  5. Ajoutez la valeur du montant de l'élément actuel à la clé correspondante dans le tableau bankTotals.

Après avoir parcouru l'ensemble du tableau d'entrée, le tableau $bankTotals contiendra les données regroupées avec les noms des banques comme clés et les montants sommés comme valeurs.

Voici le code pour obtenir le résultat souhaité sortie :

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

print_r($bankTotals);
Copier après la connexion

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

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