Petit casse tete [Résolu]

Signaler
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008
-
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008
-
Petit casse tete -> Pour moi en tout cas...

Bonjour, je devellope actuellement un petit jeu multijoueur en php, lorsque j'arrive à la fin j'ai

<?php
$score array("Alex"> "12", "Marina" => "18", "Marc" => "12", "Dany" => "13");
arsort($score);
foreach ($score as $key => $val) {
   echo "$key = $val
";
}
?>
qui classe très bien par ordre numérique or, je souhaite juste en plus (juste) ajouter un moyen de determiner celui qui a mis le moins de temps a faire le niveau dans le cas ou les 2 (ou plus ) meilleurs scores soient egaux (j'obtiens déjà les secondes dans des varibles pour trier tout ca)...

J'espère vous avoir clairement exposé mon problème, & merci a vous encore une fois! ;)

4 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

<?php
$aScores = array(
    'toto' => 2000,
    'tata' => 2500,
    'titi' => 2000,
    'tutu' => 2500
);

$aTimes = array(
    'toto' => 25,
    'tata' => 30,
    'titi' => 22,
    'tutu' => 32
);

array_multisort($aScores, SORT_ASC, $aTimes, SORT_ASC);

foreach($aScores as $sUser => $iScore) {
    echo $sUser, ' => SCORE : ', $iScore, ' - TEMPS : '.$aTimes[$sUser]."\r\n";
}
?>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
salut

faut faire ton tableau comme ca :

user1 => array(score, time), user2 => ...

et utiliser la fonction de tri qui permet une fonction perso pour determiner l'ordre (cherche sort sur php.net, t'auras a mon avis cette fonction dans les fonctions associees)

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008

Mmm ca ne fonctionne pas, et pareil avec les multi dimentionel...
En faisant 1 seul tableau c impossible, je pourrais donc en faire deux -> 1 pour les temps et 1 pour les score, attribuer quelques varibles puis les comparer, si les 2 permiers scores sont egaux, ce sera celui qui a ete le plus rapide qui gagne, (mais a ce moment impossible de trier les temps en fonction du score....).
J'y vois un peu plus clair a cette heure mais c toujours pas ca .
Je rebidouille et quand j'y arrive (car j'ai pas le choix) je poste la solution, mais si quelqu'un connais la technnique appropriée, tenez moi informez avant que je sombre dans la folie
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008

OMG!!!
Ca tourne nickel  Malalam, a chaques fois tu me depatouille, merci vraiment.
MERCI Merci merci