关于false==$value 与 false!==$value 的疑问!

2012-08-08 10:51:52 +08:00
 funwee
本人刚接触php不久,一直都觉得false==0,今天被一个小状况折腾了许久...
先看以下例子:
<?php
$value=0;

if(false==$value){echo 123;}

if(false!==$value){echo 123;}
?>

结果是两句都执行,那么 false到底等不等于0呢?产生如下结果的原因是什么?
今后应该如何避免呢?
3763 次点击
所在节点    PHP
5 条回复
gaocheng
2012-08-08 10:55:49 +08:00
第一个语句不会判断$valuel类型,第二个语句会判断$value类型,全等于判断会比较变量的值和类型
zooandzoo
2012-08-08 10:57:04 +08:00
false等于0,但不全等于(===)0
参靠手册 附录 -》PHP类型比较
funwee
2012-08-08 11:00:59 +08:00
@gaocheng 谢啦
1212e
2012-08-08 11:07:45 +08:00
跟 == 相反的是 != 才对,最好用 === 和 !== 。原因见1楼。
ElmerZhang
2012-08-08 11:08:27 +08:00
==和!=是一对
===和!==是一对
前者不比较类型,"","0", 0, array(), NULL都和false相等。
后者比较类型,必须值和类型完全一样才相等。===类似于is的意思。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/44553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX