我多次看到php开发人员使用这样的东西:
if(null == $var){
}
我使用
if($var == null){
}
这两个不同吗?有没有理由使用每一个?或者它在任何方面都是一个选择问题?
答案 0 :(得分:5)
无法为null
分配值
null = $a
,它会抛出解析错误。
但任何变量都可以null
作为值。
$a = null
因此,如果您在第二种情况下将==
错误地输入到=
,则您更改了$a
的值并检查$a
新值的if条件总是评估为假。
答案 1 :(得分:2)
简短的回答,这是完全一样的。答案很长:
C编程语言允许在条件内进行分配。 e.g。
(i = 1)==1
有效。这意味着:
if (x = null)
也有效。
在某些情况下,您打算指定x = null,但(通常)只是为了比较x == null
和错误输入。
因此,C(或C ++)中的开发人员会执行以下操作:
if (null == x)
这是因为如果它被错误输入if (null = x)
则无法编译。
然而在PHP中,这不再是一个有效的原因,因为PHP没有被编译,因此这样的错误不会被提前捕获,这会破坏反向语法的整个目的。
然而,在PHP中使用它的优点是,当你点击代码的那一部分时,它会出错而不是正常运行,因此会告诉你问题。
另一方面,在PHP中,您应该使用===
,因此无论如何都会产生错别字==
。