转:PHP中运算的先后顺序

2017-09-13  本文已影响0人  gogocheng

今天有人问我echo '1'.print(2)+3 的结果是511,这其实涉及到PHP中运算顺序先后的问题,还有就是echo 和print的一点细微区别.这个语句 运算的顺序为 先 print(2)+1, 再把1和print(2)+3 的结果拼接,最后使用echo输出。

第一步:print(2)+3  的结果是5

第二步:‘1’.print(2)+3 按道理应该是15,但是print本身自带输出,所以5比1 先输出出来,这一步输出的就是51

第三步:echo 前面的结果,按道理就是输出51 就完了,但是 echo和print是有区别的  echo 是不会有返回值,而print是有返回值的,当print成功输出了是会返回1的

所以 '1'.print(2)+3 这个语句反回的结果是1  最后会被echo 输出,所以最后的结果就是511了。

转自:http://blog.csdn.net/wl669023/article/details/77966886

上一篇 下一篇

猜你喜欢

热点阅读