如何在PHP中回显和打印不同?

时间:2008-10-24 16:25:13

标签: php echo

  

可能重复:
  Reference: Comparing PHP's print and echo

PHP中这两个函数之间是否有任何重大和根本的区别?

5 个答案:

答案 0 :(得分:276)

自: http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40

  1. 速度。两者之间存在差异,但速度快 应该与你使用哪一个无关。回声略快 因为如果你真的想要了解它,它不会设置返回值 细节。

  2. 表达。 print()表现得像一个函数,你可以这样做: $ret = print "Hello World"; $ret将为1。这意味着打印 可以用作一个更复杂的表达式的一部分,其中echo不能。一个 PHP手册中的示例:

  3. $b ? print "true" : print "false";
    

    print也是优先级表的一部分,如果它必须是它 将在复杂表达式中使用。它只是在底部 虽然优先列表。只有“,”AND,OR和XOR较低。

    1. 参数(一个或多个)。语法为:echo expression [, expression[, expression] ... ]echo ( expression, expression )无效。 这是有效的:echo ("howdy"),("partner");与:echo "howdy","partner"相同; (将括号放在这个简单的例子中 供应 没有目的,因为没有单一的运算符优先级问题 这样的术语。)
    2. 因此,没有括号的echo可以获取多个参数 级联:

         echo  "and a ", 1, 2, 3;   // comma-separated without parentheses
         echo ("and a 123");        // just one parameter with parentheses
      

      print()只能使用一个参数:

         print ("and a 123");
         print  "and a 123";
      

答案 1 :(得分:72)

他们是:

  • print只接受一个参数,而echo可以有多个参数。
  • print返回值(1),因此可以用作表达式。
  • 回声略快。

答案 2 :(得分:9)

要添加上面的答案,虽然print只能接受一个参数,但它允许连接多个值,即:

$count = 5;

print "This is " . $count . " values in " . $count/5 . " parameter";

这是1个参数中的5个值

答案 3 :(得分:7)

我认为print()echo慢。

我喜欢仅在以下情况下使用print()

 echo 'Doing some stuff... ';
 foo() and print("ok.\n") or print("error: " . getError() . ".\n");

答案 4 :(得分:6)

正如PHP.net手册所示,请阅读this discussion

一个主要区别是echo可以输出多个参数。 E.g:

echo 'foo', 'bar';   // Concatenates the 2 strings
print('foo', 'bar'); // Fatal error

如果您要评估输出语句的结果(如下所示),请使用print。如果没有,请使用echo

$res = print('test');
var_dump($res); //bool(true)