Maison > base de données > tutoriel mysql > Comment additionner les valeurs d'une colonne d'un tableau 2D en PHP sans boucles « foreach » ?

Comment additionner les valeurs d'une colonne d'un tableau 2D en PHP sans boucles « foreach » ?

Linda Hamilton
Libérer: 2024-12-13 12:08:11
original
576 Les gens l'ont consulté

How to Sum a 2D Array Column's Values in PHP without `foreach` Loops?

Somme des valeurs dans une colonne de tableau 2D sans boucles Foreach

En PHP 5.4, il est possible de additionner les valeurs dans une colonne spécifiée d'un Tableau 2D sans recourir aux boucles foreach.

Considérez le multidimensionnel suivant array :

Array (
    [0] => Array ( [f_count] => 1 [uid] => 105 )
    [1] => Array ( [f_count] => 0 [uid] => 106 )
    [2] => Array ( [f_count] => 2 [uid] => 107 )
    [3] => Array ( [f_count] => 0 [uid] => 108 )
    [4] => Array ( [f_count] => 1 [uid] => 109 )
    [5] => Array ( [f_count] => 0 [uid] => 110 )
    [6] => Array ( [f_count] => 3 [uid] => 111 )
)
Copier après la connexion

Pour additionner les valeurs de la colonne "f_count", nous pouvons utiliser les fonctions array_column et array_sum :

$value = array_sum(array_column($arr,'f_count'));
Copier après la connexion

Cette méthode extrait les valeurs "f_count" du tableau en un tableau unidimensionnel à l'aide de array_column, puis additionne les valeurs de ce tableau à l'aide de array_sum, ce qui donne la valeur de somme de 7.

Alternativement, si vous préférez un format de requête SQL différent, vous pouvez modifier votre requête pour renvoyer un tableau unidimensionnel :

$query = "SELECT SUM(f_count) AS f_count_sum FROM users WHERE gid=:gid";
...
$value = $stmt->fetchColumn();
Copier après la connexion

Cette requête renvoie une seule colonne nommée "f_count_sum " contenant la somme de toutes les valeurs "f_count", accessibles ensuite directement à l'aide de fetchColumn().

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