可能重复:参考:比较PHP的print和echo
PHP中这两个函数之间是否有任何重大和根本的区别?
来自:http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40
速度 . 两者之间存在差异,但在速度方面,它应与您使用的哪一个无关 . 如果你真的想要深入了解细节,那么回声会稍快一些,因为它没有设置返回值 .
表达 . print() 表现得像一个函数,你可以这样做: $ret = print "Hello World" ; $ret 将 1 . 这意味着print可以用作echo不能表达的更复杂表达式的一部分 . PHP手册中的一个例子:
print()
$ret = print "Hello World"
$ret
1
$b ? print "true" : print "false";
如果要在复杂表达式中使用print,它也是优先级表的一部分 . 它只是在优先列表的底部 . 只有“,”AND,OR和XOR较低 .
echo expression [, expression[, expression] ... ]
echo ( expression, expression )
echo ("howdy"),("partner")
echo "howdy","partner"
因此,没有括号的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";
他们是:
print只接受一个参数,而echo可以有多个参数 .
print返回值(1),因此可以用作表达式 .
回声稍快 .
要添加上面的答案,虽然print只能接受一个参数,但它允许连接多个值,即:
$count = 5; print "This is " . $count . " values in " . $count/5 . " parameter";
这是1个参数中的5个值
正如PHP.net手册所示,请阅读this discussion .
一个主要区别是 echo 可以输出多个参数 . 例如 . :
echo
echo 'foo', 'bar'; // Concatenates the 2 strings print('foo', 'bar'); // Fatal error
如果您要评估输出语句的结果(如下所示),请使用 print . 如果没有,请使用 echo .
print
$res = print('test'); var_dump($res); //bool(true)
我认为 print() 比 echo 慢 .
我喜欢只在以下情况下使用 print() :
echo 'Doing some stuff... '; foo() and print("ok.\n") or print("error: " . getError() . ".\n");
5 回答
来自:http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40
速度 . 两者之间存在差异,但在速度方面,它应与您使用的哪一个无关 . 如果你真的想要深入了解细节,那么回声会稍快一些,因为它没有设置返回值 .
表达 .
print()
表现得像一个函数,你可以这样做:$ret = print "Hello World"
;$ret
将1
. 这意味着print可以用作echo不能表达的更复杂表达式的一部分 . PHP手册中的一个例子:如果要在复杂表达式中使用print,它也是优先级表的一部分 . 它只是在优先列表的底部 . 只有“,”AND,OR和XOR较低 .
echo expression [, expression[, expression] ... ]
但echo ( expression, expression )
无效 . 这是有效的:echo ("howdy"),("partner")
;相同:echo "howdy","partner"
; (将括号放在这个简单的例子中是没有用的,因为没有像这样的单个术语的运算符优先级问题 . )因此,没有括号的echo可以采用多个参数,这些参数会被连接起来:
print()
只能带一个参数:他们是:
print只接受一个参数,而echo可以有多个参数 .
print返回值(1),因此可以用作表达式 .
回声稍快 .
要添加上面的答案,虽然print只能接受一个参数,但它允许连接多个值,即:
这是1个参数中的5个值
正如PHP.net手册所示,请阅读this discussion .
一个主要区别是
echo
可以输出多个参数 . 例如 . :如果您要评估输出语句的结果(如下所示),请使用
print
. 如果没有,请使用echo
.我认为
print()
比echo
慢 .我喜欢只在以下情况下使用
print()
: