求echo "5+1=1"+5的结果
其实是这样的, 因为.运算符的优先级比+要高,所以程序会先计算 '5+1= ' . 1 , 结果是字符串类型"5+1= 1"
然后计算加法 "5+1= 1"+5, "5+1= 1"就会被隐式转换成整形然后再+5(加5),就是10了
可能你会问,为什么 "5+1= 1" 转换成整形回是 5 呢? 原因很简单,因为类型占用字节的长度,取了字符串的第一个字符作为转换后的值!(例如:"5+1=1...后面再多字符都好"转换成整形后是5,
"6+211..后面再多字符都好"转换成整形后是6,"A+12如果不是数字字符开头"转换成整形后是0)
其实你可以试试 echo "5+1=1"+5; //结果是10,因为5+5=10
echo "5+1= " . 1 ; //结果是5+1=1