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
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.
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.
Partager