Showing posts with label print. Show all posts
Showing posts with label print. Show all posts

Tuesday, April 15, 2008

Difference between echo and print in PHP

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";

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