答案 0 :(得分:9)
print
是一个函数,可以在表达式中使用,而echo
是一种语言结构,只能在行的开头使用。
echo print(print(print(print(123)))), print(4);
将print作为函数提供的真实用例是允许在表达式中使用它。例如,作为调试功能:
if (($a == $b) and print("It's true") and $c) {
甚至
return TRUE and print("right");
答案 1 :(得分:6)
最有可能表示成功,因此您可以将其解释为值TRUE
。
在将来的代码中,而不是做
$i++;
你可以做到
$i = $i + print("Hello World!\n");
(可能会产生轻微的副作用。)
答案 2 :(得分:3)
正如其他人已经提到的那样,print是伪函数(返回值而不是实函数),这使得它在表达式中有效。所以你可以编写这样的古怪代码来混淆维护者:)
$success = doSomethingThatCanPossiblyFail();
if ($success || !(print "Failed to do that! Not going to do the follow up")){
//success
nowDoTheFollowupThing();
}
答案 3 :(得分:2)
这只是一个小功能,允许您在条件下使用打印,例如:
if ((print "angry") && (print "mammoth") || (print "will stomp you"))
{
// always executed
}
现在有什么用?不知道。
答案 4 :(得分:0)
在实际 计算的情况下,您可以返回值。
示例:
for ( $i = 0; $i < 10; $i += print "$i<br>" );
您可以在此处结合打印和计数。
答案 5 :(得分:-1)
print始终返回1。否则它将返回0。 在echo中我们可以显示打印功能的成功或失败。
echo print(1); // 11
如果我们单独写print(1),它将打印给我们1。
print(1); // 1
更好地了解的一个例子。
function sum($a,$b)
{
echo $a+$b;
if($a+$b == true)
{
return 1;
}
else{ return 0;}
}
//现在我们调用函数
sum(3,1);//4
echo "<br>";
echo sum(3,1);// 41
echo "<br>";
sum('abc','xyz');// 0
echo "<br>";
echo sum('abc','xyz');//00
此代码的工作方式与打印功能相似