可能的重复:
参考:PHP 的 print 和 echo 的比较

PHP 中的这两个函数有什么主要和根本的区别吗?

有帮助吗?

解决方案

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

  1. 速度。两者之间存在差异,但是从速度方面,您使用的是无关紧要的。Echo的略快速度更快,因为如果您真的想了解Nitty Gritty,则不会设置返回值。

  2. 表达。 print() 其行为类似于一个函数,您可以执行以下操作:$ret = print "Hello World";和 $ret1. 。这意味着可以将打印用作Echo无法进行的更复杂表达式的一部分。PHP手册中的一个例子:

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

印刷也是优先表的一部分,如果要在复杂的表达式中使用,则需要它。不过,它在优先列表的底部。只有“,”AND、OR 和XOR 较低。

  1. 参数)。语法是: echo expression [, expression[, expression] ... ]echo ( expression, expression ) 无效。这将是有效的: echo ("howdy"),("partner");与以下相同: echo "howdy","partner";(将括号放在这个简单的示例中没有目的,因为没有类似单词的操作员优先问题。)

因此,没有括号的回声可以采用多个参数,这些参数被串联:

   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";

其他提示

他们是:

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

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

$count = 5;

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

这是1个参数中的5个值

我认为 print() echo 慢。

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

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

正如PHP.net手册所示,请阅读这个讨论

一个主要区别是 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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top