Sec*_*oud 1 php conditional-statements
这两个陈述有什么区别?
if (!$var === true) {
Run Code Online (Sandbox Code Playgroud)
要么
if (!($var === true)) {
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的代码,并试图找出它的用途.
我得到括号内的条件从最里面向外评估.
这与PHP的运算符优先级有关.
在!评估前的===IS.所以,在第一个例子中:
$vartrue在第二个示例中,您使用括号来强制===首先发生.所以,你得到:
$var真实由于您使用===- 比较类型和值 - 要与布尔值进行比较,因此这些并不完全等效.
怎么$var = 5办?
!$var === true成为!5 === true.就是0 === true这样false.!($var === true)成为!(5 === true).就是!(false)这样true.注意:在做!5第一个例子中,5被转换成布尔,然后否定(这是如何!工作的).5自您使用以来,第二个示例中没有布尔转换===.
注2:第二个例子相当于$var !== true.