使用echo而不是print的PHP实际优势

3

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

我想知道使用 echo 而不是 print 将输出写入屏幕的实际优势和原因。

在我的代码许多地方,我有这样的东西:

PRINT("<b>".$course_id."</b>");

我知道print返回一个值,而echo没有返回值,但我想知道是否有任何真正的理由替换我的代码中的print(不幸的是有一些),并用echo代替?在这种情况下使用print只是不好的实践吗?还是避免使用它有理由和好处?我正在使用PHP 5.3.13。

提示:print()函数比echo()函数稍微慢一些。 - user377628
print 始终返回 1,但比 echo 慢(而且 echo 不返回任何内容) - Petro Popelyshko
1
另一个区别是:当未使用括号时,echo可以接受多个参数。请注意,echo($arg1,$arg2)是无效的。而print只能接受一个参数。 - Sanjay
它们都是语言结构,print 应该比 echo 稍微慢一点。这个问题应该涵盖了大部分深入的细节,但简而言之,没有理由去通过替换 print 为 echo 来获得微不足道的性能提升的开销。 - optimusprime619
3个回答

6

来自phpbench, echo()print()快。但我认为如果你的代码慢几微秒,没人会注意到。


请帮助我们,首先查找重复项,并在问题下的评论中留下链接。感谢您的帮助和分享! - hakre
顺便说一下,phpbench不是权威资源。它的站长动机非常值得怀疑,从科学角度来看,它很愚蠢。 - hakre

3
与"echo"不同,print会返回一个值,因此
touch ($file) || print "Could not create $file";

是被允许的,但是

touch ($file) || echo "Could not create $file";

根据Fabien Potencier的说法,“print”使用了一个更多的操作码,因为它实际上返回了一些内容: http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
所以,相比于“print”,“echo”应该会快一点,但只是略微的快一点。如果你只想呈现文本,我认为大多数开发人员更喜欢使用“echo”,因为使用“echo”会更加灵活。
如果你想这么做,你可以使用IDE的查找和替换功能以及正则表达式来替换“print”调用,但我认为常见应用程序的性能瓶颈大多在其他地方。

2
差异可以忽略不计。没有理由重构print()函数的使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接