PHP一道选择题
发布网友
发布时间:2022-04-24 06:09
我来回答
共5个回答
热心网友
时间:2023-10-07 10:46
答案: 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
热心网友
时间:2023-10-07 10:47
答案是C。"3+4+5"是字符类型。由于PHP是弱语言,字符串可转为数值。
当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。
如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。
该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。
热心网友
时间:2023-10-07 10:47
应该是6吧 php加法运算两边的数据类型应该一致,‘3+4+5' php会自动将他转换成整型,intval这函数’3+4‘就转换成3 ,”4+5“的话会转成4
热心网友
时间:2023-10-07 10:48
C 6 字符串"3+4+5"只输出3
热心网友
时间:2023-10-07 10:49
我的宽带链接怎么要十几分钟呀?