概述
您暗示了一个深层的问题:什么时候表达式应该为真?
在下面,我将解释您的工作为何不起作用以及如何解决。
在许多语言中,===、==和空字符串(FALSE)都评估为false,这可以使if语句非常简洁直观,但是null、0和""也都是不同的类型。 应该如何比较它们?
该页面告诉我们,如果我们要比较两个变量,则变量将按以下方式转换(在第一个匹配项时退出表格)
Type of First Type of Second Then
null/string string Convert NULL to "", numerical/lexical comparison
bool/null anything Convert to bool, FALSE < TRUE
因此,您正在比较空值与数字。 因此,空值和数字都将转换为布尔值。 本页告诉我们,在这种转换中,===和==都被视为FALSE。
您的表情现在显示为===,这当然是正确的。
但不是您想要的。
该页面提供了PHP比较运算符的列表。
Example Name Result
$a == $b Equal TRUE if $a equals $b after type juggling.
$a === $b Identical TRUE if $a equals $b, AND they are of the same type.
$a != $b Not equal TRUE if $a not equals $b after type juggling.
$a <> $b Not equal TRUE if $a not equals $b after type juggling.
$a !== $b Not identical TRUE if $a not equals $b, or they are not of the same type.
$a < $b Less than TRUE if $a is strictly less than $b.
$a > $b Greater than TRUE if $a is strictly greater than $b.
$a <= $b Less than/equal TRUE if $a is less than or equal to $b.
$a >= $b Greater than/equal TRUE if $a is greater than or equal to $b.
第一个比较器是您现在正在使用的比较。 请注意,它执行了我前面提到的转换。
使用第二个比较器将解决您的问题。 由于null和数字不是同一类型,因此===比较将返回false,而不是像==运算符那样执行类型转换。
希望这可以帮助。
最后
以上就是愤怒便当为你收集整理的php等于空值,PHP认为null等于z的全部内容,希望文章能够帮你解决php等于空值,PHP认为null等于z所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复