php-哪一个更接近null==或==null
我多次看到php开发人员使用这样的东西:php-哪一个更接近null==或==null,php,syntax,Php,Syntax,我多次看到php开发人员使用这样的东西: if(null == $var){ } 当我使用 if($var == null){ } 这两个不同吗?是否有任何理由使用每一个?或者它在任何方面都是一个选择问题?简单地null不能赋值 null=$a,它将抛出解析错误 但是任何变量都可以将null作为值。 $a=null 因此,如果您在第二种情况下将==错误地输入到=,您已经更改了$a的值,并检查了$a的新值的if条件,该值的计算结果总是为false。简单回答,情况完全相同。长答覆: C编程语
if(null == $var){
}
当我使用
if($var == null){
}
这两个不同吗?是否有任何理由使用每一个?或者它在任何方面都是一个选择问题?简单地
null
不能赋值
null=$a
,它将抛出解析错误
但是任何变量都可以将null
作为值。
$a=null
因此,如果您在第二种情况下将
==
错误地输入到=
,您已经更改了$a
的值,并检查了$a
的新值的if条件,该值的计算结果总是为false。简单回答,情况完全相同。长答覆:
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中,您应该真正使用
==
,这样打字错误无论如何都会导致=
。$var==null
是标准方式。。两者没有区别。这正是我们总是正确书写valee的标准。第一种方法的优点是,如果出现诸如(null=$var)
之类的意外输入错误,就会出现语法错误,否则会传递错误并造成混乱。@MASIDDIQUI我强烈反对。@arkascha请说明原因,以便我也能解释清楚know@MASIDDIQUI认为自己开明,阿卡什拉已经提供了。打字错误不是这个常见错误的唯一原因。@bub我知道,但这就是原因,它来自C世界和嵌入式系统,在这些系统中调试要困难得多。。所以,这是一种古老的防守技巧,可以避免错误地输入比较和分配