<?php echo 1+2+"3+4+5"; ?>

这是一道php软件工程师考试里面的一道题,就是问结果是多少。我用浏览器输出的结果是6.但是我不知道为什么结果是6.。想请教大师帮我疏导一下思维,为什么结果是6.谢谢... 这是一道php软件工程师考试里面的一道题,就是问结果是多少。我用浏览器输出的结果是6.但是我不知道为什么结果是6.。想请教大师帮我疏导一下思维,为什么结果是6.谢谢 展开
 我来答
nbyh2012
2013-07-09 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:802万
展开全部

Php在进行数值计算时,如果遇到非数值,则会强制转换为数字,再计算。这里字符串就被转为了数字。


php字符串转整数的规则是,从字符串前部开始提取尽可能多的数字,后面非数字部分被丢弃。这里的"3+4+5"其实被转为3。


故结果是6。


看下例,虽然很不可思议,但确实会输出123。

if (0 == "abc") {
    echo "123";
}
gjgj821
2013-07-09 · TA获得超过416个赞
知道小有建树答主
回答量:501
采纳率:100%
帮助的人:468万
展开全部
首先要分成2部分
1+2,这部分是就是数值计算,也就是3
“3+4+5”是字符串,进入数值计算会将字符串硬性转换为数值,一般是第一个字符,如果是数值型字符串,就是完整的数字,也就是3
最后就是3+3=6了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式