Maison >développement back-end >tutoriel php >Comment calculer efficacement les totaux de colonnes dans des tableaux multidimensionnels irréguliers ?
Comment calculer les totaux de colonnes dans un tableau multidimensionnel
Considérons un tableau multidimensionnel où les éléments sont disposés en lignes et en colonnes, mais les jeux de clés peuvent varier de manière dynamique. La tâche consiste à calculer la somme des valeurs dans chaque colonne, quelles que soient les variations de clé.
Méthode Array_Walk_Recursive
Pour une solution générale où les tableaux internes peuvent avoir des clés uniques, utiliser array_walk_recursive() :
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
Array_Column Méthode
Si des valeurs de clé spécifiques doivent être additionnées, array_column() peut être utilisée :
array_sum(array_column($input, 'gozhi')); // Sums the 'gozhi' column
Pour les tableaux internes uniformes
Si tous les tableaux internes ont les mêmes clés, obtenez la structure de clé initiale :
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Général Cas avec Array_Column
Extraire les clés uniques et effectuer des sommes de colonnes :
$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!