sparh Posté 19 Février 2010 Partager Posté 19 Février 2010 Bonjour, je sais pas si mon titre est clair mais voià ce que je souhaite faire et je ne sait pas 1 si c'est possible 2 quelle syntaxe utiliser <?phpif$ordre == 'croissant'){$signe = '>' ;}elseif($ordre == 'decroissant'){$signe = '<' ;}// et la ce que je veux faireif($var1 $signe $var2){...} Savez vous si c'est possible ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
jcaron Posté 19 Février 2010 Partager Posté 19 Février 2010 Plein de possibilités if (($ordre == 'croissant' && $var1 > $var2) || ($ordre == decroissant' && $var1 < $var2)) if (($ordre == 'croissant')?($var1 > $var2)$var1 < $var2)) if ((($ordre == 'croissant')?1:-1)*($var2-$var1)) > 0) (il est possible que le dernier soit à l'envers, j'ai la flemme d'y réfléchir plus que ça) Et probablement beaucoup d'autres... Jacques. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 19 Février 2010 Partager Posté 19 Février 2010 Sinon, pour faire comme tu le souhaitais au début, tu peux sans doute utiliser la fonction eval(). Lien vers le commentaire Partager sur d’autres sites More sharing options...
jcaron Posté 19 Février 2010 Partager Posté 19 Février 2010 ...dont il est utile de préciser que si ce qui tu lui fournis n'est pas très strictement vérifié et contrôlé, tu ouvres un énoooooorme trou de sécurité. En plus de ça, l'exécution d'un eval prend nettement plus de temps que le même code sans eval. Vu que le test va très vraisemblablement être dans une boucle pour un tri, c'est à proscrire... Jacques. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 19 Février 2010 Auteur Partager Posté 19 Février 2010 Bonsoir et merci mais je pense que je m'étais mal exprimé. Enfin j'ai fini par trouver une solution en faisant une fonction. function compare_score($score,$score_comparaison,$type_de_tri){ if($type_de_tri == 'croissant') // 2 { if($score < $score_comparaison) return true ; } elseif($type_de_tri == 'decroissant') //type 0 et 1 { if($score > $score_comparaison) return true ; } else { return false ; }} Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant