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