faqts : Computers : Programming : Languages : PHP : kms : Functions

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

10420 of 11924 people (87%) answered Yes
Recently 8 of 10 people (80%) answered Yes

Entry

What is the difference between echo and print?
Which is faster, echo or print?

Feb 24th, 2008 16:21
forum net tr, Bob Stein, Joshua McGinnis, geozipp, Nathan Wallace, Rasmus Lerdorf


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

source: http://www.forumnettr.com
http://www.forumnettr.com/forum