Somme des valeurs dans une colonne de tableau multidimensionnel
Les tableaux multidimensionnels présentent un défi lorsqu'il s'agit de additionner des colonnes spécifiques. Considérez l'exemple de tableau donné :
$arr = [ [0] => ['f_count' => 1, 'uid' => 105], [1] => ['f_count' => 0, 'uid' => 106], [2] => ['f_count' => 2, 'uid' => 107], [3] => ['f_count' => 0, 'uid' => 108], [4] => ['f_count' => 1, 'uid' => 109], [5] => ['f_count' => 0, 'uid' => 110], [6] => ['f_count' => 3, 'uid' => 111] ];
La sortie souhaitée est 7, qui est la somme de la colonne f_count.
Solution sans boucle Foreach
PHP 5.5 et versions ultérieures fournissent deux fonctions qui simplifient cela task :
En utilisant ces fonctions, nous pouvons obtenir la somme sans foreach loop:
$f_count_column = array_column($arr, 'f_count'); $sum = array_sum($f_count_column);
Approche alternative : restructurer la requête
Au lieu de récupérer un tableau multidimensionnel, nous pouvons restructurer la requête pour renvoyer un tableau unidimensionnel :
$query = "SELECT SUM(f_count) AS total_f_count FROM users WHERE gid=:gid"; $stmt = $pdo->prepare($query); $stmt->execute([':gid' => $gid]); $row = $stmt->fetch(PDO::FETCH_ASSOC); $total_f_count = $row['total_f_count'];
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!