Téléchargement
illégal
Posez votre question Signaler

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

walter - Dernière réponse le 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
Lire la suite 

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

2 réponses
Réponse
+2
moins plus
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 ;
Ajouter un commentaire
Réponse
-1
moins plus
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
Ajouter un commentaire
Ce document intitulé « [PHP] calcul d'une colonne d'un tableau » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?