据我所知,print
和echo
之间的区别在于print
返回一个布尔值。因此,每当我使用echo
时,我都可以使用print
。在我直到现在看到的所有代码示例中(我正在学习PHP),他们使用了echo
。那是为什么?
编辑:也许原因是echo
比print
更快(因为print
会返回一个值而echo
没有?)尽管如此,我猜速度差异并不明显。
答案 0 :(得分:6)
print
会返回一个值,而echo
不会使echo
稍快一些(虽然不是很重要)。您可以查看此帖子了解更多信息:
除此之外,您使用echo
与output
不同的print
来获取一些返回值。因此,echo
在队列中最佳,但没有什么能阻止您使用print
。
答案 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较低。
因此,没有括号的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)
对你的问题的简短回答是否定的,你使用哪个并不重要。虽然存在细微差别,但无需担心。我将在下面重点介绍其中一些内容:
print
可用于表达式,而echo
则不能。例如,使用print
,可能会出现以下情况:($foo == true) ? print 'true' : $foo = true
,但替换为echo
会导致错误echo
可以使用逗号分隔的多个参数,而print
则不能。例如,您可以执行echo "hello", "world";
print
始终“返回”值1