Erreur avec gettype

Erreur avec gettype - PHP - Programmation

Marsh Posté le 17-06-2009 à 17:52:48    

Bonjour,

 

j'ai une erreur surprenante avec les gettype et ses dérivés.
Par exemple :

Code :
  1. if (is_integer($_GET['p'])) echo 'test reussi'; // Ne m'affiche rien lorsque p est un nombre
 

D'ailleurs si j'écris :

Code :
  1. if (is_string($_GET['p'])) echo 'test reussi'; // pour toutes les valeurs testées, le résultat est positif
 

Breff c'est assez étonnant.

Message cité 1 fois
Message édité par ilundar le 17-06-2009 à 17:53:21
Reply

Marsh Posté le 17-06-2009 à 17:52:48   

Reply

Marsh Posté le 17-06-2009 à 17:58:42    

ilundar a écrit :

Bonjour,
 
j'ai une erreur surprenante avec les gettype et ses dérivés.
Par exemple :

Code :
  1. if (is_integer($_GET['p'])) echo 'test reussi'; // Ne m'affiche rien lorsque p est un nombre


 
D'ailleurs si j'écris :

Code :
  1. if (is_string($_GET['p'])) echo 'test reussi'; // pour toutes les valeurs testées, le résultat est positif


 
Breff c'est assez étonnant.


Salut,
 
Je pense que tu es dans le cas d'un "numeric string" et non d'un "integer" ou "float"
Comme dit dans la doc de la fonction is_int() http://fr2.php.net/is_int :

Citation :

Note: To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().


 
Pour te convaincre essaye de faire un var_dump sur $_GET['p'] plutôt, et là tu verras vraiment comment est typée ta variable.

Reply

Marsh Posté le 17-06-2009 à 18:05:39    

Ok, merci ça marche !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed