我看了很多次,PHP开发人员使用的财产以后这样的:PHP - 哪一个是更好的方法空==或== NULL
if(null == $var){
}
,而我用
if($var == null){
}
这些是两个不同的?有什么理由使用每一个?或者它在任何方面都是选择问题?
我看了很多次,PHP开发人员使用的财产以后这样的:PHP - 哪一个是更好的方法空==或== NULL
if(null == $var){
}
,而我用
if($var == null){
}
这些是两个不同的?有什么理由使用每一个?或者它在任何方面都是选择问题?
只是null
不能被赋值 null = $a
,它会抛出解析错误。
但任何变量具有如null
值。 $a = null
所以,如果你在第二种情况下错误地输入到==
=
,你已经改变了$a
价值和您检查$a
新的值总是为假的,如果条件。
@bub我知道,但这就是它的原因,它来自C世界和嵌入式系统,在这些系统中调试非常困难.. 所以它的老用于防御技术,以避免模糊比较与分配 –
简短的回答,这是完全一样的东西。龙回答:
C编程语言允许条件内分配。例如
(i = 1)==1
是有效的。这意味着:
if (x = null)
也是有效的。
在某些情况下,你打算为x = NULL但是(通常)你只是为了比较x == null
和输错的。
在C(或C++),因此开发商会做这样的事情:
if (null == x)
这是因为如果输入错误,以if (null = x)
它不会编译。
然而,在PHP中,这已经不再是一个有效的理由,因为PHP不编译因此这样的错误不提前困,这违背了逆转语法的全部目的。
然而,在PHP中使用它的好处是,当你打的那部分代码,这反而出错正常运行的,因此会通知你的问题。
另一方面,在PHP中,你应该真的使用===
,所以错别字会导致==
无论如何。
'$ var == null'是标准的方式..两者没有什么区别。它的正义标准,我们总是在正确的 –
中写下价值。第一个优点是,如果出现像'(null = $ var)'这样的意外错字会导致语法错误,否则会造成混淆。 – arkascha
@MASIDDIQUI我坚决不同意。 – arkascha