日期:2014-05-16  浏览次数:20859 次

一道基础php面试题,想不通
echo '1'.print(2)+3;

说下你的答案,然后去电脑试试!

------解决方案--------------------
511

很奇怪吧?
其实也没什么奇怪的
print 实际上不是一个真正的函数(它是一个语言结构),所以你不需要使用括号参数列表。
也就是说 print(2) + 3 实际上是 print 2 + 3
但他却有一个永远为 1 的返回值

511 这个5是由 print(2) + 3 产生的
511 这个1是由 echo '1' 产生的
511 这个1是由 print 产生的