Superieur

bonjour,
j'ai un beug bete surement mais je n'arrive pas a le reparer !
alors voici un bout de mon code:

$compare = -1000000000; 
$points = 1000000000; 
echo "nbo : ".$nbo." supérieur a compare : ".$compare." reponse :"; 
if ($nbo > $compare && $nbo < $points) 
{ 
echo "oui"; 
$compare = $nbo; 
} 
echo "<br>"; 


voici ce qu'il m'affiche
nbo : 2294 supérieur a compare : -1000000000 reponse :oui 
nbo : 1384 supérieur a compare : 2294 reponse : 
nbo : 1417 supérieur a compare : 2294 reponse : 
nbo : 648 supérieur a compare : 2294 reponse :oui 
nbo : 750 supérieur a compare : 648 reponse :oui 
nbo : 881 supérieur a compare : 750 reponse :oui 
nbo : 2515 supérieur a compare : 881 reponse : 
nbo : 1174 supérieur a compare : 881 reponse : 
nbo : 975 supérieur a compare : 881 reponse :oui 


donc pour lui 648 est plus grand que 2294 !?
je pensais pas etre si nul que ca en math !

5 réponses

  1. il compare surement que le premier chiffre et non le nombre, mais pourquoi ?
    1. si ca peu aider, $nbo est un nombre pris d'un fichier, donc je suis en train de me dire qu'il le considere surement comme une chaine de caractere !

      donc en pensant a ca j'ai mit (int) $nbo =....
      et ca fait toujours pareil !
      1. Pourrais-tu nous donner plus de code ? notamment la boucle qui englobe tout ce code, s'il y en a une ? Ou au moins de quoi reproduire le problème ?

        Au pire tu peux à chaque fois ajouter un var_dump() de $nbo > $compare et de $nbo < $points pour voir quelle est la condition qui ne passe pas.
        1. donc j'ai trouvé une petite solution j'ai rajouté
          $nbo = $nbo - 0;

          et comme ca il me le code comme un nombre et il me déclare bien la valeur supérieur comme je le veux !

          par contre j'ai d'autre soucis derriere, je verrais plus tard au pire je t'appelerai peut etre a l'aide ;)

          merci de ta réponse (j'avais pas pensé a var dump)
          1. Si le problème venait juste du type de ta variable, tu peux utiliser intval().

            C'est beaucoup plus propre que "+0" ;)