PHP一道选择题

下面代码的执行结果是什么?<?phpecho1+2+"3+4+5";?>A.0B.3C.6D."33+4+5";请解释下为什么... 下面代码的执行结果是什么?
<?php
echo 1+2+"3+4+5";
?>
A. 0
B. 3
C. 6
D. "33+4+5";
请解释下为什么
展开
 我来答
windblast
2012-09-17 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
答案: C

解释:

在php语言里,对于数字式字符与数字如何参与运算,在具体情况下会视情来确定,请比较以下代码:

echo "3+4+5";  结果: 3+4+5

为什么会1+2+"3+4+5" 结果会是6呢?

echo这个函数(或说是指令),其后跟的参数可以是字符串,也可以是需要运算的表达式,当出现:

echo "3+4+5"; echo会认为这是个字符串

而 echo 1+2+"3+4+5"; echo会认为这是个表达式,所以会对这个表达式进行运算。

在这个运算过程中,1+2等于3,那么为什么"3+4+5"为什么会等于3呢?因为,在php中,对于运算式中,不同数据类型的数据在参与数据时,php会进行数据转换,以尽量确保使表达式成功运行,在"3+4+5"前面的运算符是 + ,那么,php会将"3+4+5"当作数值类型,此时会隐式地进行数据类型的转换,将这个字符串转换成数值,而"3+4+5"转换成数值的结果就是3,所以,整个表达式的结果是:1+2+3 = 6。

为更好的理解,作为对比,你可以参考以下代码:

echo 1+2 . "3+4+5";

结果:
33+4+5
泽秋苓
2012-09-17 · 超过11用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:23.8万
展开全部
答案是C。"3+4+5"是字符类型。由于PHP是弱语言,字符串可转为数值。
当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。
如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。
该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
素净且文雅的小爱人P
2012-09-17
知道答主
回答量:36
采纳率:0%
帮助的人:18.1万
展开全部
应该是6吧 php加法运算两边的数据类型应该一致,‘3+4+5' php会自动将他转换成整型,intval这函数’3+4‘就转换成3 ,”4+5“的话会转成4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9f4e0b2
2012-09-17
知道答主
回答量:18
采纳率:0%
帮助的人:7.9万
展开全部
C 6 字符串"3+4+5"只输出3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蒋家360
2012-09-17
知道答主
回答量:2
采纳率:0%
帮助的人:3135
展开全部
我的宽带链接怎么要十几分钟呀?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式