Maison >développement back-end >tutoriel php >Comment additionner les valeurs de colonnes dans des tableaux multidimensionnels avec des clés dynamiques en 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; });
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'
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);
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);
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!