From this link, suggested by the PHP manual entry for the echo() function:
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.
Expression. print() behaves like a function in that you can do: $ret =
print "Hello World"; And $ret will be
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.
- 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";