echo vs print

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
d3ad1ysp0rk
Forum Donator
Posts: 1661
Joined: Mon Oct 20, 2003 8:31 pm
Location: Maine, USA

echo vs print

Post by d3ad1ysp0rk »

I looked at the manuel, and searched the forums for a topic on this, but I still can't find anything..

Is there any difference, and what is it?

And which do you prefer using?


I use echo.. because that's what I was taught
User avatar
m3mn0n
PHP Evangelist
Posts: 3548
Joined: Tue Aug 13, 2002 3:35 pm
Location: Calgary, Canada

Post by m3mn0n »

echo; it's less characters than print. =P
User avatar
twigletmac
Her Royal Site Adminness
Posts: 5371
Joined: Tue Apr 23, 2002 2:21 am
Location: Essex, UK

Post by twigletmac »

Same as Sami, using print() means more typing :).

Basically there is no difference between echo() and print(), except print() returns a success or failure value - I've never seen anyone use that functionality...

Mac
User avatar
JayBird
Admin
Posts: 4524
Joined: Wed Aug 13, 2003 7:02 am
Location: York, UK
Contact:

Post by JayBird »

Which is faster, echo or print?

There is a difference between the two, but speed-wise it
should be irrelevant which one you use. print() behaves
like a function in that you can do:

Code: Select all

$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. 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 precendence list though. Only "," AND, OR and XOR
are lower.

echo is marginally faster since it doesn't set a return
value if you really want to get down to the nitty gritty.

If the grammar is:

Code: Select all

echo expression [, expression[, expression] ... ]
Then

Code: Select all

echo ( expression, expression )
is not valid. ( expression ) reduces to just an expression
so this would be valid:

Code: Select all

echo ("howdy"),("partner");
but you would simply write this as:

Code: Select all

echo "howdy","partner";
if you wanted to use two expression. Putting the brackets
in there serves no purpose since there is no operator
precendence issue with a single expression like that.
m3rajk
DevNet Resident
Posts: 1191
Joined: Mon Jun 02, 2003 3:37 pm

Post by m3rajk »

twigletmac wrote:Same as Sami, using print() means more typing :).

Basically there is no difference between echo() and print(), except print() returns a success or failure value - I've never seen anyone use that functionality...

Mac
ditto ^^^^

i think most are like this... however, when getting into big chunks, most ppl use echo<<<END

big chunk

END;

since heredoc is really simple to use and it's easier to insert little things instead fo going in and out via <??>
Nay
Forum Regular
Posts: 951
Joined: Fri Jun 20, 2003 11:03 am
Location: Brisbane, Australia

Post by Nay »

Did someone say heredoc again? :lol:

Well, here's my 3 cents. Honestly I've never, well, not never - ever since I started PHP, I've been using echo(). I don't notice a significant difference but I still use echo, since my hands are always used to typing echo lol.

-Nay
Post Reply