刚接触 PHP ,其中有两个打印(输出函数),即 echo() 和 print(),咋看起来很像。于是乎,在网上查询了一下,以下是来自官方的 Q&A:
What is the difference between echo and print?
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 is also part of the precedence table which it needs to be if it
is
to be used within a complex expression. It is just about at the bottom
of the precedence list though. Only "," AND, OR and XOR are lower.
3. Parameter(s). The grammar is: echo expression [, expression[,
expression] ... ] But echo ( expression, expression ) is not valid.
This would be valid: echo ("howdy"),("partner"); the same as: echo
"howdy","partner"; (Putting the brackets in that simple example
serves
no purpose since there is no operator precedence issue with a single
term like that.)
So, echo without parentheses can take multiple parameters, which get
concatenated:
echo "and a ", 1, 2, 3; // comma-separated without parentheses
echo ("and a 123"); // just one parameter with parentheses
print() can only take one parameter:
print ("and a 123");
print "and a 123";
posted on 2009-02-23 16:26
Tiger 阅读(292)
评论(0) 编辑 收藏 引用