以下代码的输出?
echo '1' . (print '2') + 3;
我测试过,结果是214,但是为什么214?
如果我编码:
echo (print '2') + 3;
结果是24 然后,回声' 1' 。 ' 24&#39 ;;应该是124。
...困惑
答案 0 :(得分:8)
解析表达式时,“print”语句会立即写入其输出。所以有第一个2.根据定义,它的返回值是1。
那么剩下的表达式是字符1,后跟数字表达式1 + 3。因此1和4。
214