0

在 PHP 中,是

if(!$foo)

相当于

if($foo != true)

或与

if($foo !== true)

还是两者完全不同?

4

4 回答 4

4

注意,

==OR!=比较变量的值是否相等,必要时进行类型转换。===OR!==检查两个变量是否属于同一类型并且具有相同的值。

这个答案会给你更好地解释这个概念: https ://stackoverflow.com/a/80649/3067928

于 2014-12-05T15:54:14.620 回答
3
if(!$foo)

相当于

if($foo != true)

所以

$foo = null;
if(!$foo){
 echo "asd";
}

将输出“asd”

于 2014-12-05T15:56:08.243 回答
-1

$a != $b

如果在类型杂耍之后 $a 不等于 $b,则为 TRUE。

$a !== $b

如果 $a 不等于 $b,或者它们不是同一类型,则为 TRUE。


有关类型杂耍的更多信息,请参阅PHP中的类型杂耍。


资料来源:php.net

于 2014-12-05T15:56:08.683 回答
-1

这是不一样的

!= 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)
于 2014-12-05T15:58:28.337 回答