Maison >développement back-end >Problème PHP >Comment additionner une colonne d'un tableau en php

Comment additionner une colonne d'un tableau en php

PHPz
PHPzoriginal
2023-04-25 09:05:45777parcourir

En programmation PHP, le tableau est un type de données très couramment utilisé qui peut être utilisé pour stocker une série de données, et la sommation d'une colonne de données dans un tableau est souvent l'une des opérations requises. Nous présenterons ensuite comment additionner une colonne d’un tableau en PHP.

En PHP, vous pouvez additionner tous les éléments d'un tableau à l'aide de la fonction array_sum(), qui accepte un tableau comme paramètre et renvoie la somme de tous les éléments du tableau. Par exemple :

$numbers = array(1, 2, 3, 4, 5);
$sum = array_sum($numbers);
echo "数组元素总和为:$sum";

Le code ci-dessus affichera :

数组元素总和为:15

Mais que se passe-t-il si nous devons additionner une certaine colonne de données dans le tableau ? PHP n'a pas de fonction intégrée pour implémenter directement cette fonction. Nous devons écrire le code nous-mêmes.

Par exemple, nous avons un tableau bidimensionnel $data, qui contient plusieurs lignes de données, chaque ligne de données a la même structure de données, comme indiqué ci-dessous :

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

Maintenant, nous devons comparer la colonne « score » dans le tableau $data La sommation des données peut être implémentée en suivant les étapes suivantes :

  1. Définissez une variable $sum et initialisez-la à 0 pour enregistrer le résultat de la sommation :
$sum = 0;
  1. Parcourez le tableau $data, supprimez chaque ligne des données à tour de rôle, et ajoutez la valeur de la colonne 'score' dans la ligne de données est accumulée dans la variable $sum :
foreach ($data as $row) {
    $sum += $row['score'];
}
  1. Enfin, ce qui est stocké dans la variable $sum est la somme du 'score 'données de la colonne.

Le code complet est le suivant :

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$sum = 0;

foreach ($data as $row) {
    $sum += $row['score'];
}

echo "score 列数据总和为:$sum";

Le code ci-dessus affichera :

score 列数据总和为:255

La complexité temporelle de l'algorithme ci-dessus est O(n), où n représente le nombre de lignes du tableau $data, qui est une méthode de sommation relativement efficace.

En plus des méthodes ci-dessus, vous pouvez également utiliser la fonction array_column() pour obtenir les données d'une colonne du tableau, puis utiliser la fonction array_sum() pour additionner les données de la colonne. Par exemple :

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$scores = array_column($data, 'score');
$sum = array_sum($scores);

echo "score 列数据总和为:$sum";

Le code ci-dessus affichera :

score 列数据总和为:255

L'avantage d'utiliser la fonction array_column() pour obtenir une colonne de données dans un tableau est que vous pouvez sélectionner de manière flexible les colonnes à obtenir, et vous pouvez également coopérer avec d'autres fonctions de tableau pour effectuer des opérations plus complexes.

Pour résumer, la sommation d'une colonne d'un tableau en PHP peut être réalisée en parcourant le tableau et en accumulant les données de la colonne. Vous pouvez également utiliser la fonction array_column() pour obtenir d'abord les données de la colonne, puis utiliser. la fonction array_sum() pour calculer et. La méthode la plus appropriée doit être choisie en fonction de la situation spécifique.

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!

Déclaration:
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