Maison >développement back-end >tutoriel php >Comment additionner les valeurs en colonnes dans des tableaux PHP multidimensionnels ?
Vous souhaitez additionner les valeurs associées à des clés spécifiques dans un tableau multidimensionnel avec différents jeux de clés. Considérez l'entrée suivante :
Array ( [0] => Array ( [gozhi] => 2 [uzorong] => 1 [ngangla] => 4 [langthel] => 5 ) [1] => Array ( [gozhi] => 5 [uzorong] => 0 [ngangla] => 3 [langthel] => 2 ) [2] => Array ( [gozhi] => 3 [uzorong] => 0 [ngangla] => 1 [langthel] => 3 ) )
Le résultat souhaité est :
Array ( [gozhi] => 10 [uzorong] => 1 [ngangla] => 8 [langthel] => 10 )
Pour y parvenir, envisagez les approches suivantes :
Pour une solution de cas général, utilisez array_walk_recursive():
$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 (par exemple, "gozhi"), utilisez array_column() (disponible depuis PHP 5.5) :
array_sum(array_column($input, 'gozhi'));
Si tous les tableaux internes ont la même clés :
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Obtenir toutes les clés uniques, puis additionner pour chacune :
$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!