任何人都可以向我解释这是如何运作的:
<?php
print 5 . print 6 . print 7;
?>
打印:76151
我知道1
是print
函数的返回值,但为什么函数的调用顺序相反?
答案 0 :(得分:9)
答案 1 :(得分:2)
您的功能是从右到左进行评估。
跟踪类似于:
print (5 . print 6 . print 7)
打印7首先评估,打印7并返回1.
print (5 . print 6 . 1)
这跟踪打印61并返回1最后:
print (5 . 1)
因此你有76151。
答案 2 :(得分:0)
您的表达可以这样写:
print (5 . print (6 . print 7));
print 61
和print 7
返回布尔值1
,这就是为什么还会打印1