Je veux tester si une var est identique (type et valeur) à l'une des trois possibilités.utilisant l'opérateur de comparaison identique (===) si l'instruction échoue si elle n'est pas utilisée seule?
Je fais:
if(($var === 0) || ($var === '0') || ($var === 'false'))
// do something
Mais cela se traduit par l'erreur suivante:
Fatal error: Call to undefined function () in /htdocs/thefile.php on line xxx
Si, au contraire, j'utilise simplement les opérateurs égalité de comparaison comme ceci:
if(($var == 0) || ($var == '0') || ($var == 'false'))
// do something
Non erreur est levée, mais ce n'est pas le contrôle de comparaison que je veux faire ..
Maintenant, si j'essaie juste avec une comparaison identique, il va bien:
if(($var === 0))
// do something.. this throws no error :)
Aucune erreur est levée ..
Alors, que suis-je manque ici ... Pourquoi la première ligne non travail, et quelle serait la bonne façon de faire ce que je suis après ici?
Cela fonctionne pour moi ... Pourriez-vous fournir les lignes de code environnantes? Est-ce vraiment la ligne où l'erreur est? – lonesomeday
Cela pourrait être un bug. Afficher le script complet, nommez la version PHP et plattform. Sinon non diagnosticable avec juste '// faire quelque chose '. – mario
OMG, désolé filles/gars se sentir comme un imbécile ici .. un espace dur s'était faufilé dans au lieu d'un espace normal, j'ai couru un test sur tous les caractères invisibles .. maintenant ça fonctionne bien (avec ou sans l'extra accolades .. mais vous avez raison, ils étaient redondants, alors ils sont partis maintenant, merci :)), désolé à ce sujet. – mikkelbreum