views:

68

answers:

4

In PHP, why is echo faster than print

They do the same thing... Why is one faster than the other?

Do they do exactly the same thing???

+1  A: 

Print has a return value, this is the only difference.

The speed difference (if any) is so miniscule that it's not worth the effort thinking about micro optimisations like this, and it's absolutely not worth updating any old code to switch prints to echos. There are much better ways to speed up your site, if this is your goal.

Tim Fountain
A: 

The differences are broken down here: PHP Performance: Echo & Print

Ryan Rinaldi
+2  A: 

Print always returns 1, which is also probably why it's slower

Galen
+2  A: 

echo and print are virtually (not technically) the same thing. The (pretty much only) difference between the two is that print will return the integer 1, whereas echo returns nothing. Keep in mind that neither is actually a function, but rather language constructs. echo allows you to pass multiple strings when using it as if it were a function (e.g., echo($var1, $var2, $var3)).

echo can also be shorthanded by using the syntax <?= $var1; ?> (in place of <?php echo $var1; ?>).

As far as which is faster, there are many online resources that attempt to answer that question. PHP Benchmark concludes that "[i]n reality the echo and print functions serve the exact purpose and therefore in the backend the exact same code applies. The one small thing to notice is that when using a comma to separate items whilst using the echo function, items run slightly faster."

It will really come down to your preference, since the differences in speed (whatever they actually are) are negligible.

Josh Leitzel