可能的重复: 参考:比较PHP的打印和回显
在PHP中,这两个函数之间有什么主要和基本的区别吗?
可能的重复: 参考:比较PHP的打印和回显
在PHP中,这两个函数之间有什么主要和基本的区别吗?
当前回答
我认为print()比echo慢。
我喜欢只在以下情况下使用print():
echo 'Doing some stuff... ';
foo() and print("ok.\n") or print("error: " . getError() . ".\n");
其他回答
我认为print()比echo慢。
我喜欢只在以下情况下使用print():
echo 'Doing some stuff... ';
foo() and print("ok.\n") or print("error: " . getError() . ".\n");
来自: http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40
速度。这两者之间是有区别的,但在速度方面是有区别的 应该与你使用哪个无关。Echo稍微快一点 因为它没有设置返回值如果你真的想要 细节。 表达式。Print()的行为类似于一个函数,你可以这样做: $ret =打印“Hello World”;$ret = 1。这意味着打印 可以用作更复杂表达式的一部分,而echo不能。一个 PHP手册中的例子:
$b ? print "true" : print "false";
Print也是优先表的一部分,如果它 将在复杂表达式中使用。它就在底部 优先级列表。只有AND或XOR更低。
参数(s)。语法为:echo expression[, expression[, 表达式]…但是echo (expression, expression)无效。 这将是有效的:echo ("howdy"),("partner");同:echo “你好”、“伙伴”;(把括号放在这个简单的例子中 服务 没有目的,因为没有操作符优先级问题 像这样的术语。)
不带括号的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";
正如PHP.net手册所建议的,阅读一下本文的讨论。
一个主要的区别是echo可以输出多个参数。例如:
echo 'foo', 'bar'; // Concatenates the 2 strings
print('foo', 'bar'); // Fatal error
如果要计算输出语句的结果(如下所示),请使用print。如果没有,使用echo。
$res = print('test');
var_dump($res); //bool(true)
要添加到上面的答案,虽然print只能接受一个参数,但它将允许多个值的连接,即:
$count = 5;
print "This is " . $count . " values in " . $count/5 . " parameter";
这是一个参数中的5个值
它们是:
Print只接受一个参数,而echo可以有多个参数。 Print返回一个值(1),因此可以用作表达式。 Echo稍微快一点。