在 PHP 中,是
if(!$foo)
相当于
if($foo != true)
或与
if($foo !== true)
还是两者完全不同?
在 PHP 中,是
if(!$foo)
相当于
if($foo != true)
或与
if($foo !== true)
还是两者完全不同?
注意,
==
OR!=
比较变量的值是否相等,必要时进行类型转换。===
OR!==
检查两个变量是否属于同一类型并且具有相同的值。
这个答案会给你更好地解释这个概念: https ://stackoverflow.com/a/80649/3067928
if(!$foo)
相当于
if($foo != true)
所以
$foo = null;
if(!$foo){
echo "asd";
}
将输出“asd”
$a != $b
如果在类型杂耍之后 $a 不等于 $b,则为 TRUE。
$a !== $b
如果 $a 不等于 $b,或者它们不是同一类型,则为 TRUE。
有关类型杂耍的更多信息,请参阅PHP中的类型杂耍。
资料来源:php.net
这是不一样的
!= is No equal (Returns true if is not equal)
!== is Not identical (Returns true if is not equal , or they are not of the same type)