根据PHP's documentation,您不需要使用括号"在print
,因为它不是真正的功能",但您仍然可以将其用作功能,并且 always returns 1
所以在我的代码中我尝试这样做:
print('<pre>') && print_r($array) && die;
...并且<pre>
从未打印到页面。
当然,如果我这样做:
print('<pre>');
print_r($array) && die;
......那很好。
但是第一个怎么工作呢?
答案 0 :(得分:7)
print
不是一个函数,而是一个语言结构。括号对它没有实际意义。真正被执行的是:
print (('<pre>' && print_r($array)) && die);
它首先评估'<pre>'
,这是真实的,然后继续评估print_r
调用,它打印一些东西到屏幕,然后尝试将其与{{1杀死脚本。然后,它永远不会完成die
表达式和&&
其结果。
如果要正确影响print
调用的优先级,则需要将整个事物作为一个表达式:
print