首页 > 代码库 > echo 1+2+"3+4+5“输出的结果是6

echo 1+2+"3+4+5“输出的结果是6

    在php语言里,对于数字式字符与数字如何参与运算,在具体情况下会视情来确定,例如:echo "3+4+5";  结果: 3+4+5 。因为将其视作是一个字符串了。而当echo 1+2+"3+4+5”时,会将其视为一个表达式。这样就涉及到PHP中不同数据类型运算的问题了。不同数据类型的数据在参与数据时,php会进行数据转换,以尽量确保使表达式成功运行,在"3+4+5"前面的运算符是 + ,那么,php会将"3+4+5"当作数值类型,此时会隐式地进行数据类型的转换,将这个字符串转换成数值,php字符串转整数的规则是,从字符串前部开始提取尽可能多的数字,后面非数字部分被丢弃。"3+4+5"是字符串,进入数值计算的时候,会将字符串硬性的转化为数值,一般是取第一个字符串的值,如果是数值型的字符串,则是一个完整的数字。因此,"3+4+5"转换成数值的结果就是3,所以,整个表达式的结果是:1+2+3 = 

6。


<?php

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

?>

的输出结果是33+4+5



 


本文出自 “12145704” 博客,请务必保留此出处http://12155704.blog.51cto.com/12145704/1867829

echo 1+2+"3+4+5“输出的结果是6