这与以下内容有关: 为什么"回显'2'.打印(2)+ 3"打印521?
我想知道为什么
打印(99)+打印(99)+打印(99)+打印(99);
显示99100100100 ....
我想了解PHP的怪癖.
打印不是一个功能,所以print(99)
是相同的print 99
.为清楚起见,我们可以删除括号.
print 99 + print 99 + print 99 + print 99;
表达式是从右边开始计算的,所以它变成了
print (99 + print (99 + print (99 + print 99)));
最右边print
首先执行,打印"99"并评估为1.
输出:
99
待评估的代码:
print (99 + print (99 + print (99 + 1)));
同样,执行最右边的打印并打印99 + 1("100")并评估为1.
输出:
99100
待评估的代码:
print (99 + print (99 + 1));
...等等.