问一个基础性问题,PHP===号的具体用法以及与==的区别

jessefly 2011-08-29 09:35:01
$var1=45.02;
$var2=45.01+0.01;

var_dump($var1===$var2);
var_dump($var1==$var2);
分别输出什么结果?
为什么?

...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jessefly 2011-08-29
  • 打赏
  • 举报
回复
恩,楼上的是我想要的正解!
3ks
amani11 2011-08-29
  • 打赏
  • 举报
回复

$var1=45.02;
$var2=45.01+0.01;
var_dump(floor($var1*10000), floor($var2*10000));
/**
*测试系统win32,
*float(450200)
*float(450199)
**/

浮点数精度并不可靠,眼睛看到的和程序运行的。。。。。

实际上C语言中,比较两个浮点数float OR double类型的,,一般不是直接==判断,而是通过差值小于一个阀值,而认定两数相等
kyzy_yy_pm 2011-08-29
  • 打赏
  • 举报
回复
false == 0
false !== 0

false == ""
false !== ""

...
xieleri 2011-08-29
  • 打赏
  • 举报
回复
== 就是相等,不比较类型,只比较值的相等
===就是连类型一起判断,值和类型完全相等

黄袍披身 2011-08-29
  • 打赏
  • 举报
回复
问过好几次了 这个问题 没什么深意的东西 不需要GOOGLE

== 就是相等(值)
===就是连类型一起判断.完全相等

第二个值不相等 结果肯定不会是true
第一个类型 值都不相等 结果就更不会是 true
jessefly 2011-08-29
  • 打赏
  • 举报
回复
不要google的结果,那些都知道,只是想明白的更深意一些儿

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧