回声和打印

echoprint 是语言结构,而不是函数。这意味着它们不需要像函数那样围绕参数使用括号(尽管几乎可以在任何 PHP 表达式周围添加括号,因此 echo("test") 也不会造成任何伤害)。它们输出变量,常量或表达式的字符串表示形式。它们不能用于打印数组或对象。

  • 将字符串 Joel 分配给变量 $name

    $name = "Joel";
    
  • 使用 echoprint 输出$ name 的值

    echo $name;   #> Joel
    print $name;  #> Joel
    
  • 括号不是必需的,但可以使用

    echo($name);  #> Joel
    print($name); #> Joel
    
  • 使用多个参数(仅限 echo

    echo $name, "Smith";       #> JoelSmith
    echo($name, " ", "Smith"); #> Joel Smith
    
  • print,与 echo 不同,是一个表达式(它返回 1),因此可以在更多地方使用:

    print("hey") && print(" ") && print("you"); #> you11
    
  • 以上相当于:

    print ("hey" && (print (" " && print "you"))); #> you11
    

echo 的简写符号

在 PHP 标签之外时 ,默认情况下可以使用 echo 的简写表示法,使用 <?= 开始输出,使用 ?> 结束它。例如:

<p><?=$variable?></p>    
<p><?= "This is also PHP" ?></p>

请注意,没有终止 ;。这是有效的,因为关闭的 PHP 标记充当单个语句的终止符。因此,在这种速记符号中省略分号是常规的。

tihuan 的优先权 17

虽然 print 是语言结构,但它优先于运算符。它位于 = += -= *= **= /= .= %= &=and 运算符之间并且已经离开了协会。例:

echo '1' . print '2' + 3; //output 511

括号中的相同示例:

echo '1' . print ('2' + 3); //output 511

echoprint 之间的差异

简而言之,有两个主要区别:

  • print 只有一个参数,而 echo 可以有多个参数。
  • print 返回一个值,因此可以用作表达式。