QUel est la fonction pour vérifier si une variable est un entier?
QUel est la fonction pour vérifier si une variable est un entier?
bah heu... is_int()...
la doc, c'est sur www.php.net...
ou plus strict :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($a == intval($a))ici ça vérifie vraiment le type de $a
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($a === intval($a))
ou plus large :après ça $a EST un entier
Code : Sélectionner tout - Visualiser dans une fenêtre à part $a = intval($a);
pas très cool cette fonction
if($a == intval($a))
je recupère la chaine 10 de mon formulaire et il me di ke c pas un entier super
Et ma réponse à moi, elle te plait pas ? lolEnvoyé par franfr57
if(is_numeric($_POST['toto'])){}
si ça provient d'un formulaire sinon is_int va croire que c'est une chaine de caractere.
après lecture de la doc (lien d'Eusebius) il faut utiliser is_numeric plutôt
en même temps... PHP étant faiblement typé... ça sert vraiment à quelque chose de testé le type ? perso je fait un cast strict (intval), et hop... c'est pas un entier, 0, c'est un entier avec des trucs derrière ça prend l'entier, et c'est un entier, ça prend un entier...
La question, à l'origine, concernait les entiers...Envoyé par Swoög
is_numeric te répondrait true pour 1.0 ou n'importe quel float.
Avec la regexp suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part /^[0-9]+$/
comment je met regexp?
C'est pas une fonction c'est une expression régulière je voulais dire
oui cela arrive, parce que 10 est stocké en variant et fait peut-être 9.99999999999999999Envoyé par franfr57
donc il faut faire la différence entre $a et intval($a), et voir si cette différence est inférieure à epsilon.
par exemple, tu mets epsilon à 0.0001 en fonction de la précision souhaitée.
ne pas oublier que cette différence est parfois négative, et de ce fait inférieure à epsilon. donc passer par la fonction absolu ...
De toute façon dès que tu as à tester le format d'une chaîne passe par les expressions régulières
comment je peut utiliser cet expression régulière alors?
Salut
Voici un lien, puisque c'est nécessaire
http://cyberzoide.developpez.com/php4/regex/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager