Reference: Comparing PHP'S Print and Echo

Should I use echo or print in php scripts?

Supposedly echo is faster, but either one would work just fine.

Echo also offers a shortcut syntax when embedding php in HTML. i.e.

    I have <?=$foo?> foo.

vs

     I have <?php echo $foo;?> foo.

See http://us2.php.net/manual/en/function.echo.php

How are echo and print different in PHP?

From:
http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40

  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 XOR are lower.


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

What Is Difference Between The echo() Statement And The print() Statement In PHP?

print returns a value (always 1); echo returns nothing

echo will accept multiple arguments, print only accepts one argument

PHP practical advantages for using echo over print

From phpbench, echo() is faster than print(). But I think nobody will notice if your code is a few microseconds slower.

Why echo and print can not be used interchageably in following code snippet?

print is a construct that behaves like a function; it has a return value of 1. Therefore:

echo print 'x';

is syntactically valid and produces x1, where x is printed by print and 1 by echo. This is equivalent to:

$print_value = print 'x';
echo $print_value;

echo, on the other hand, has no return value, so $echo_value = echo 'x'; is a syntax error and so is print echo 'x';.



Related Topics



Leave a reply



Submit