如果不单独使用,在 if 语句中使用相同比较运算符 (===) 会失败?
我想测试 var 是否与三种可能性之一相同(类型和值)。
所以我这样做:
if(($var === 0) || ($var === '0') || ($var === 'false'))
// do something
但这会导致以下错误:
致命错误:在 /htdocs/thefile.php 的第 xxx 行调用未定义的函数 ()
如果相反,我只是使用相等比较运算符,如下所示:
if(($var == 0) || ($var == '0') || ($var == 'false'))
// do something
不会引发错误,但这不是我想要进行的比较检查..
现在,如果我只是尝试进行一个相同的比较,那么效果很好:
if(($var === 0))
// do something.. this throws no error :)
不会引发任何错误。
那么我在这里缺少什么...... 为什么第一行不起作用,以及我在这里之后做的事情的正确方法是什么?
I want to test if a var is Identical (type and value) to one of three possibilities.
So I do:
if(($var === 0) || ($var === '0') || ($var === 'false'))
// do something
But this results in the following error:
Fatal error: Call to undefined function () in /htdocs/thefile.php on line xxx
If instead, I simply use Equal Comparison operators like this:
if(($var == 0) || ($var == '0') || ($var == 'false'))
// do something
No error is thrown, but this is not the comparison check I want to make..
Now, if I just try with one Identical comparison it goes fine:
if(($var === 0))
// do something.. this throws no error :)
No error is thrown..
So what am I missing here...
Why does the first line not work, and what would be the correct way of doing what I'm after here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
===
运算符还检查变量的类型...这应该足够了:
The
===
operator checks the type of the variable as well...This should be sufficient:
以下是 o/p:bool(ture)、bool(false)。
因为这里“10”被视为字符串。
在相同运算符中,它不仅检查值,还检查数据类型。所以我们在这里
将字符串与整数数据类型进行比较。所以结果是假的。
Here are the o/p: bool(ture), bool(false).
because here "10" is considered as string.
In Identical operator it not only checks the value but also the data type.So here we are
comparing string with integer data type. so it results false.