Maison  >  Article  >  développement back-end  >  Comment additionner une colonne d'un tableau en php

Comment additionner une colonne d'un tableau en php

PHPz
PHPzoriginal
2023-04-26 09:08:10610parcourir

En PHP, additionner une colonne d'un tableau est une exigence courante. Si le tableau est un tableau unidimensionnel, utilisez la fonction array_sum(). Par exemple :

$array = array(1, 2, 3, 4, 5);
$sum = array_sum($array); // $sum = 15

Mais si le tableau est un tableau à deux dimensions, vous devez d'abord extraire toutes les valeurs de la colonne, puis les additionner. Vous pouvez utiliser la fonction array_column() pour extraire les valeurs d'une colonne, puis utiliser la fonction array_sum() pour additionner les valeurs. Par exemple :

$records = array(
    array('name' => 'John', 'score' => 85),
    array('name' => 'Mary', 'score' => 92),
    array('name' => 'Peter', 'score' => 78),
    array('name' => 'Lisa', 'score' => 89)
);
$scores = array_column($records, 'score');
$sum = array_sum($scores); // $sum = 344

Dans l'exemple ci-dessus, $records est un tableau à deux dimensions qui contient le nom et le score de chaque personne. Utilisez la fonction array_column() pour extraire tous les scores, puis utilisez la fonction array_sum() pour les additionner, ce qui donne un score total de 344.

Il convient de noter que si les valeurs de la colonne contiennent des types non numériques (tels que des chaînes), elles doivent d'abord être converties en nombres via une conversion de type. Sinon, le résultat de la somme pourrait être inexact. Par exemple :

$records = array(
    array('name' => 'John', 'score' => '85'),
    array('name' => 'Mary', 'score' => '92'),
    array('name' => 'Peter', 'score' => '78'),
    array('name' => 'Lisa', 'score' => '89')
);
$scores = array_column($records, 'score');
$sum = array_sum($scores); // $sum = 0

Dans l'exemple ci-dessus, les scores dans $records sont tous de type chaîne. Si vous les additionnez directement, vous obtiendrez un résultat inexact de 0. Ils peuvent être convertis en types numériques en spécifiant le troisième argument dans la fonction array_column(). Par exemple :

$records = array(
    array('name' => 'John', 'score' => '85'),
    array('name' => 'Mary', 'score' => '92'),
    array('name' => 'Peter', 'score' => '78'),
    array('name' => 'Lisa', 'score' => '89')
);
$scores = array_column($records, 'score', 'name');
$scores = array_map('intval', $scores);
$sum = array_sum($scores); // $sum = 344

Dans l'exemple ci-dessus, la fonction array_column() est utilisée pour extraire les scores de chaque personne et les stocker dans un nouveau tableau avec le nom comme clé et le score comme valeur . Utilisez ensuite la fonction array_map() pour convertir ces valeurs, et enfin utilisez la fonction array_sum() pour les additionner et obtenez le résultat correct de 344.

Pour résumer, additionner une colonne d'un tableau n'est pas difficile en PHP, il suffit de faire attention au type de données.

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