There is a difference between the two, but speed-wise it should be irrelevant which one you use. print() behaves like a function in that you can do: $ret = print "Hello World";And $ret will be 1That means that print can be used as part of a more complex expression where echo cannot. 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 precendence list though. Only "," AND, OR and XOR are lower.echo is marginally faster since it doesn't set a return value if you really want to get down to the nitty gritty.If the grammar is: echo expression [, expression[, expression] ... ]Then echo ( expression, expression ) is not valid. ( expression ) reduces to just an expression so this would be valid: echo ("howdy"),("partner");but you would simply write this as: echo "howdy","partner"; if you wanted to use two expression. Putting the brackets in there serves no purpose since there is no operator precendence issue with a single expression like that.大致两点: 1.print行为更像一个函数,可以用在更复杂的表达式中,而echo不能。 2.从优先级角度看,echo 稍微比print快些,因为不需保留返回值。
irrelevant which one you use. print() behaves like a function in that
you can do: $ret = print "Hello World";And $ret will be 1That means
that print can be used as part of a more complex expression where echo
cannot. 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 precendence list though. Only "," AND, OR and XOR
are lower.echo is marginally faster since it doesn't set a return value
if you really want to get down to the nitty gritty.If the grammar is:
echo expression [, expression[, expression] ... ]Then echo (
expression, expression ) is not valid. ( expression ) reduces to just
an expression so this would be valid: echo ("howdy"),("partner");but
you would simply write this as: echo "howdy","partner"; if you wanted
to use two expression. Putting the brackets in there serves no purpose
since there is no operator precendence issue with a single expression
like that.大致两点:
1.print行为更像一个函数,可以用在更复杂的表达式中,而echo不能。
2.从优先级角度看,echo 稍微比print快些,因为不需保留返回值。