我知道echo()并print()做同样的事情.但是print的返回值为 (int) 1.
问题是:
print是一个函数,可以在表达式中使用,而echo语言结构只能在行的开头使用.
echo print(print(print(print(123)))), print(4);
Run Code Online (Sandbox Code Playgroud)
将print作为函数提供的真实用例是允许它在表达式中使用.例如作为调试功能:
if (($a == $b) and print("It's true") and $c) {
Run Code Online (Sandbox Code Playgroud)
甚至
return TRUE and print("right");
Run Code Online (Sandbox Code Playgroud)
最有可能表示成功,因此您可以将其解释为价值TRUE.
在将来的代码中,而不是做
$i++;
Run Code Online (Sandbox Code Playgroud)
你可以做
$i = $i + print("Hello World!\n");
Run Code Online (Sandbox Code Playgroud)
(可能会产生轻微的副作用.)