Faire un classement par point !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 oct. 2005, 08:50

En faite ya juste 2 petites erreurs....

Un S en trop a $point et ... il manque un E a classement
J'ai honte :oops:
Je n'est pas validé le programme avant de le poster
F5, c'est pas dur à taper pourtant ...

Excuse moi blustic de t'embeter avec de la syntaxe alors que tu devrais réflechir sur l'algorithme
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Blustic
Invité n'ayant pas de compte PHPfrance

11 oct. 2005, 12:21

Oui super
<?
$url = "point.txt"; 

//On récupère le contenu du fichier dans un tableau 
$a_file = file($url); 

//On parcours le contenu du fichier en mettant le nom dans le tableau et les points comme index 
$a_classement = array(); 
foreach ($a_file as $ligne) { 
    //On découpe la ligne récupérée selon le | 
    $a_ligne = explode("|", $ligne); 
     
    //le nom est le 1er element, les point le 2nd 
    $point = $a_ligne[1]; 
    $nom = $a_ligne[0]; 
     
    //On enregistre dans le tableau 
    $a_classement[$nom] = $point; 
} 

//On tri le tableau selon les valeurs(les points) 
asort($a_classement); 

//Ici un joli affichage mais tu peut faire l'écriture dans un fichier 
echo "<ol>"; 
foreach ($a_classement as $point => $nom) { 
echo "<li>".$nom." - ".$point." point(s)</li>"; 
} 
?>
Voila le code est ok

Mais le seul bémol c'est que pour le classement au nombre de point il classe en fonction du premier chiffre

Voici le classement que j'ai eu pendant mon test :

24 - Louise point(s)
3 - François point(s)
5 - Paul point(s)
54 - Marc point(s)

Et serait t'il possible de m'indiquer quel fonction dois-je changer pour avoir le classement décroissant je pense que c'est le asort() non ????

Merci d'avance

Blustic
Invité n'ayant pas de compte PHPfrance

11 oct. 2005, 12:26

Dsl meme pas j'ai pri le temps de chercher pff je suis ridicule alors que l'on a un moteur de recherche phénoménal

J'ai trouver pour le tri décroissant c'était arsort() :?

Par contre je n'arrive toujours pas pour le classement qu'il ne se fasse pas que sur le premier chiffre car j'ai des valeur qui peuvent allé jusqu' à 3 chiffres

Merci de votre aide