echo '1'.print(2)+3;

今天看到一道有趣的题目,如上所示。结果为什么会是511呢?

这个结果的计算分为三步来理解:

首先计算的是 右边print(2)+3,这个你可以直接理解成print(2+3),得到的结果是5。而print是一个函数, 它的返回值总是1。

第二步就是echo '1'.print('结果')(返回值是1),因此会得到11的结果。

第三步就是将之前计算的结果进行连接,并最终进行输出,得到的结果就是511了。

类似的,可以解释为什么echo '2' . print(2) + 3;的结果是521,

echo '1' . (print '2') + 3;结果是214

当然啦,实际的开发并不会出现这种情况!

建议在开发中,最好不要将echo与print混合起来使用。

这里仅是一个有趣味的题而已!

猜你喜欢

转载自blog.csdn.net/oZuoYu123/article/details/80194478
今日推荐