谁能向我解释这是如何工作的:
<?php
print 5 . print 6 . print 7;
?>
它打印:76151
我知道1
是函数的返回值print
,但为什么函数的调用顺序相反?
谁能向我解释这是如何工作的:
<?php
print 5 . print 6 . print 7;
?>
它打印:76151
我知道1
是函数的返回值print
,但为什么函数的调用顺序相反?
您的功能正在从右到左进行评估。
跟踪与此类似:
print (5 . print 6 . print 7)
print 7 首先计算,打印 7 并返回 1。
print (5 . print 6 . 1)
这跟踪打印 61 并返回 1 最后:
print (5 . 1)
因此你有 76151。
你的表达式可以这样写:
print (5 . print (6 . print 7));
print 61
并且print 7
是返回布尔值1
,这就是为什么1
也打印