[PHP] calcul d'une colonne d'un tableau

Fermé
walter - 29 déc. 2006 à 16:56
 walter - 29 déc. 2006 à 21:26
Bonjour tout le monde

Je tombe sur un problème voici le shéma de mon tableau PHP

<?PHP
$tableau = array();
$tableau[0] = array();
$tableau[0]['kill'] = 45;
$tableau[0]['dead'] = "25";
$tableau[1] = array();
$tableau[1]['kill'] = 32;
$tableau[1]['dead'] = "50";
$tableau[2] = array();
$tableau[2]['kill'] = 52;
$tableau[2]['dead'] = "10";

Ce tableau d'en mon script est alimenter par plusieur source de données suite à une succession de requête, mais au final mon tableau PHP à donc cette structure

Je cherche maintenant à additionner tout les kill et tou les dead afin de le récupérer dans un seul tableau exemple :
$tableau2 = ($Totalkill,$Totaldead);

j'ai fait mais recherche et beaucoup parle de SUM, mais celà ce place dans une requête SQL et m'on problème est que la source de données est aléatoire, d'ou le regroupement des divers source dans un seul tableau multidimensionnel ( $tableau ), mais je n'ai pas trouver d'alternative avec le tableau PHP

Comment puis-je calculer la somme total d'une colonne de tableau PHP multidimensionnel ?

Merci d'avance de votre aide
Walter
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
29 déc. 2006 à 17:17
Bonjour,

Que donne ce petit script ?
<?PHP
$tableau = array();
$tableau[0] = array();
$tableau[0]['kill'] = 45;
$tableau[0]['dead'] = "25";
$tableau[1] = array();
$tableau[1]['kill'] = 32;
$tableau[1]['dead'] = "50";
$tableau[2] = array();
$tableau[2]['kill'] = 52;
$tableau[2]['dead'] = "10";

$tableau2 = array();
$totKill = 0;
$totDead = 0;
foreach($tableau as $uneLigne)
{
  $totKill += $uneLigne['kill'];
  $totDead += $uneLigne['dead'];
}
$tableau2['kill'] = $totKill;
$tableau2['dead'] = $totDead ;
2
oui le code que vous m'avez fourni fonctionne j'avait trouver une autre alternative
<?PHP
$tableau = array();
$tableau[0] = array();
$tableau[0]['kill'] = "45";
$tableau[0]['dead'] = "25";
$tableau[1] = array();
$tableau[1]['kill'] = "32";
$tableau[1]['dead'] = "50";
$tableau[2] = array();
$tableau[2]['kill'] = "52";
$tableau[2]['dead'] = "10";

$nb = count($tableau);

echo "Il y'a " . $nb . " résultat dans le tableau<br /><br />";

$kill = 0;
$dead = 0;

$i = 0;

while($i <= $nb-1)
{
    echo "Clé : " . $i . " ----- Kill : " . $tableau[$i]['kill'] . " ----- Dead : " . $tableau[$i]['dead'] . "<br />\n";
   $kill = $kill + $tableau[$i]['kill'];
   $dead = $dead + $tableau[$i]['dead'];
	
   $i++;
}

echo "<br /><br />Total Kill : " . $kill . " ----- Total Dead : " . $dead . "<br />";
?>


celà fonctionne aussi :D
Maintenant je tombe sur le vrai problème, le problème précédent concernait un total de kill et de dead, maintenant je possède un tableau PHP multidimensionnel, j'explique

<?PHP
$tableau = array();
$tableau[0] = array();
$tableau[0]['id'] = "1";
$tableau[0]['kill'] = "45";
$tableau[0]['dead'] = "25"; 
$tableau[1] = array();
$tableau[1]['id'] = "2";
$tableau[1]['kill'] = "32";
$tableau[1]['dead'] = "50";
$tableau[2] = array();
$tableau[2]['id'] = "3";
$tableau[2]['kill'] = "52";
$tableau[2]['dead'] = "10"; 
?>

la collone id = l'id du membre
la colonne kill = le total de kill
la colonne dead = le total de dead

est-il possible de récupérer :
1) Le nombre le plus grand de kill
2) le nombre le plus petit de kill
3) le nombre le plus grand de dead
4) le nombre le plus petit de dead

de manière à pouvoir afficher un genre de statique du style :
Le joueur aillant le plus de kill est walter avec 52 kill
Le joueur aillant le moins de kill est olivier avec 32 kill
Le joueur aillant le plus de dead est olivier avec 50 dead
Le joueur aillant le moins de dead est walter avec 10 dead

ne récupérer ainsi que la ligne avec le plus ou le moins de kill ou de dead, est-ce fesable ?

Merci d'avance de votre aide, qui ma déjà permis de faire des statistique détailler pour chaque id et même un système de ratio
Walter
0