PHP:使用echo而不是print是否有任何优势?

时间:2011-01-14 18:30:29

标签: php printing echo

  

可能重复:
  How are echo and print different in PHP?

据我所知,printecho之间的区别在于print返回一个布尔值。因此,每当我使用echo时,我都可以使用print。在我直到现在看到的所有代码示例中(我正在学习PHP),他们使用了echo。那是为什么?

编辑:也许原因是echoprint更快(因为print会返回一个值而echo没有?)尽管如此,我猜速度差异并不明显。

6 个答案:

答案 0 :(得分:6)

print会返回一个值,而echo不会使echo稍快一些(虽然不是很重要)。您可以查看此帖子了解更多信息:

除此之外,您使用echooutput不同的print来获取一些返回值。因此,echo在队列中最佳,但没有什么能阻止您使用print

alt text

答案 1 :(得分:3)

This article已经深入探讨了这个问题,甚至可能已经知道了这个问题。

来自:http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

1

  Speed. There is a difference between the two, but speed-wise it should be irrelevant which one you use. echo is marginally faster since it doesn't set a return value if you really want to get down to the nitty gritty.

2

  Expression. print() behaves like a function in that you can do: $ret = print "Hello World"; And $ret will be 1. That means that print can be used as part of a more complex expression where echo cannot. An example from the PHP Manual:

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

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

  1. 参数(一个或多个)。语法是:echo表达式[,表达式[,表达式] ...]但是echo(表达式,表达式)无效。这将是有效的:echo(“howdy”),(“伙伴”);同样如: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";
    

答案 2 :(得分:2)

使用echo略快于print,但对于大多数用途来说,它并不重要。

答案 3 :(得分:1)

它不会改变任何东西。您可以使用其中一个。没有特别使用1返回,每个人都按照惯例使用echo,也许它是历史的。它写得也更快(4个字母而不是5个字母)。

答案 4 :(得分:1)

大多数时候,这只取决于个人偏好。

但是echo可以有多个参数,print会返回一个值。

答案 5 :(得分:1)

对你的问题的简短回答是否定的,你使用哪个并不重要。虽然存在细微差别,但无需担心。我将在下面重点介绍其中一些内容:

  1. print可用于表达式,而echo则不能。例如,使用print,可能会出现以下情况:($foo == true) ? print 'true' : $foo = true,但替换为echo会导致错误
  2. echo可以使用逗号分隔的多个参数,而print则不能。例如,您可以执行echo "hello", "world";
  3. print始终“返回”值1