Bonjour,
Quelqu'un pourrait-il m'expliquer pourquoi :
Affiche ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( "test" == 0 ) echo "ok";
Quelle valeur est testée avec 0 ?
Merci
Bonjour,
Quelqu'un pourrait-il m'expliquer pourquoi :
Affiche ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( "test" == 0 ) echo "ok";
Quelle valeur est testée avec 0 ?
Merci
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
http://www.php.net/manual/fr/languag...comparison.phpSi vous comparez un nombre avec une chaîne alors chaque chaîne sera convertie en un nombre
0 est comparé avec (int)"test" qui vaut 0.
Il s'agit quand même d'un réponse arbitraire de PHP à une comparaison farfelue.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Tu compares une chaine et un entier, utilise === si tu veux que le type soit discriminant...
http://php.net/manual/en/language.op...comparison.php
Oui merci je sais que le test est incorrect et source de nombreux problèmes, ce n'était pas ma question.
Donc pour y répondre, le test s'arrête au 1er caractère qui n'est pas un chiffre, donc comme ici il n'y en a pas, ça rend 0.
Si je pleure encore qu'un jour tu me reviennes,
C'est que sans toi je suis comme un Roi sans sa Reine.
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