php连接符和输出问题

jht727415 发布于 2015/08/29 17:05
阅读 327
收藏 0
PHP

echo '5+1=' . 1+5;  //输出10

这条语句为什么输出的结果是10

加载中
1
OSC首席键客
OSC首席键客

就是运算符的优先级问题!

.和+的运算符优先级相同,LZ的语句结合顺序就是从左到右。

 '5+1=' . 1会先执行,导致最终结果就是 '5+1=1'+5,+号前面强制转换成5了。

“.”换成”,“,“,”优先级最低,会先“+”。

0
ISwearICan
ISwearICan
intval('5+1' . 1) + 5
jht727415
jht727415
懂了,谢谢!
0
樂天
樂天
//由于
echo (int)'5+1='; // 5 
echo '5+1' . 1;   // 5+11
echo (int)('5+1=' . 1);   // 5
echo (int)('5+1=' . 1) + 5;  // 10
// 所以
echo '5+1=' . 1+5; // 10



jht727415
jht727415
懂了,谢谢!
0
羊驼君
羊驼君
echo '5+1=' . 1+5; 改成 echo '5+1=',1+5;  (连接符改成逗号)
jht727415
jht727415
懂了,谢谢!
0
尼玛逼
jht727415
jht727415
懂了,谢谢!
0
习家家天下

我把问题改了一下

echo '5+1=' . 1+5;  // 输出10,错误
改成
echo '5+1=' . 5+1;
  // 输出6,正确

可以拿来捉弄人。

返回顶部
顶部