PHP if语句null===$variable:用于什么?

PHP if语句null===$variable:用于什么?,php,Php,通常,我会在php的if语句中看到如下内容: if (null === $variable) { // do stuff } 它是干什么用的 编辑:我完全明白这是一个比较运算符,我只是想知道为什么不$variable===null这不是一个赋值,而是一个相等的比较。它确定变量$variable是否包含值null 更多信息请参见文档: 为什么不检查$variable===null 有些人喜欢使用左边有常量的表单(称为“Yoda条件”),这样,如果他们有输入错误,并且只键入一个=,

通常,我会在php的if语句中看到如下内容:

if (null === $variable) {
    // do stuff
}
它是干什么用的

编辑:我完全明白这是一个比较运算符,我只是想知道为什么不
$variable===null

这不是一个赋值,而是一个相等的比较。它确定变量
$variable
是否包含值
null

更多信息请参见文档:

为什么不检查
$variable===null


有些人喜欢使用左边有常量的表单(称为“Yoda条件”),这样,如果他们有输入错误,并且只键入一个
=
,它会导致语法错误,而不是执行赋值。

这是Yoda风格,通常被程序员用作一种技巧,以防止意外赋值,而意外赋值总是会产生一些无声的bug

例如:

  var a = dosomething();

  if(a = null){
      //more here
   }

请注意,无论
doSomething
方法的结果如何,if块始终不会执行,因为我们分配然后检查是否相等。此赋值消除了
doSomething

可能不确定的性质。这些不是赋值,它们是检查变量是否为null。请在文档中找出
=
=
==
@AndrewL.之间的差异,抱歉,我的错误已更正,但是为什么不这样检查呢
$variable===null
?为什么是另一种情况?确定等值是否相同,是否属于同一类型对不起,我修改了这个问题,但为什么不检查
$variable===null
?语言不同,但原因相同:@DimaDz:我在上面加了一个注释。