Maison > développement back-end > tutoriel php > Comment additionner les valeurs de colonnes dans des tableaux multidimensionnels avec des clés dynamiques en PHP ?

Comment additionner les valeurs de colonnes dans des tableaux multidimensionnels avec des clés dynamiques en PHP ?

Patricia Arquette
Libérer: 2024-12-16 22:03:11
original
1061 Les gens l'ont consulté

How to Sum Column Values in Multi-Dimensional Arrays with Dynamic Keys in PHP?

Somme des valeurs de colonnes dans des tableaux multidimensionnels

Question :

Comment pouvez-vous calculer la somme des valeurs de colonne dans un tableau multidimensionnel, où les clés associatives sont dynamique ?

Réponse :

Pour additionner les valeurs de colonne dans un tableau multidimensionnel avec des clés dynamiques, vous pouvez utiliser array_walk_recursive(). Il fournit une solution générale pour les cas où chaque tableau interne a des clés uniques.

$final = array();

array_walk_recursive($input, function($item, $key) use (&$final){
    $final[$key] = isset($final[$key]) ?  $item + $final[$key] : $item;
});
Copier après la connexion

Pour des clés spécifiques, array_column() est une option appropriée, disponible depuis PHP 5.5.

array_sum(array_column($input, 'gozhi')); // for key 'gozhi'
Copier après la connexion

Pour obtenir la somme totale des colonnes avec les mêmes clés, vous pouvez extraire le premier tableau interne comme base, additionner les valeurs de chaque clé en utilisant array_column(), et ajoutez-les à la base :

$final = array_shift($input);

foreach ($final as $key => &$value){
   $value += array_sum(array_column($input, $key));
}    

unset($value);
Copier après la connexion

Pour une solution générale utilisant array_column(), pensez d'abord à obtenir toutes les clés uniques, puis à calculer la somme pour chacun :

$final = array();

foreach($input as $value)
    $final = array_merge($final, $value);

foreach($final as $key => &$value)
    $value = array_sum(array_column($input, $key));

unset($value);
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal