php语言里面0===“0”为什么是错的?

 我来答
百度网友8dce392c02
2013-01-13 · TA获得超过1099个赞
知道小有建树答主
回答量:587
采纳率:66%
帮助的人:307万
展开全部
上面说的都好专业,也不看楼主是怎么样的 楼主肯定比较新手的 要用通俗易懂的说法
首先 楼主知道 php语言的数据类型有哪几种吗 如果不知道可以查基础书本
我这里说一下 两个数据类型 一种是int(整形):俗话说的 数字。 一种是 string(字符串)俗话说的文本格式 这里的0和“0” 前者是整形,后者由于有引号是 字符串 两者数据类型是不一样的
== 这个比较符号 只是一般比较 也就是 0==“0” 会判断为true
===这个符号是 严格 判断符号 不只是会判断数字是否一样,还会判断是否是相同的数据类型 ,很明显两者数据类型不一样 因此 为false
三条腿的蜜蜂
2013-01-12 · 分享生活点滴瞬间。。。
三条腿的蜜蜂
采纳数:119 获赞数:248

向TA提问 私信TA
展开全部
你用==就不会错了,===的检测更严格,会检测类型,0和“0”的数据类型是不同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aiitw
2013-01-12 · 超过69用户采纳过TA的回答
知道答主
回答量:347
采纳率:0%
帮助的人:184万
展开全部
必须的,===是严格比较,类型长度大小什么的一模一样,==是类型转换的比较,为true,以后你要是比较对象或者数组,你会发现===还更严格(实际严格啥呀,两者一模一样就可以为真了)
追问
在这里0===“0”是大小不一样还是类型还是长度不一样了?怎么看出来的?还有事你说的==是类型转换的比较是什么意思了?谢谢了啊!
追答

你没看到加引号的就是字符串,一个数值型和一个字符串===就是false;==时候,类型会转换为同等。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
novice_pegasus
2013-01-12 · TA获得超过624个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:640万
展开全部
===要求不光是值相等,连数据类型也必须一致。0是数值,"0"是字符,当然不等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式