"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:
$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:
echo expression [, expression[, expression] ... ]
Then
echo ( expression, expression )
is not valid. ( expression ) reduces to just an expression so this would be valid:
echo ("howdy"),("partner");
but you would simply write this as:
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."
-- Jon Kriek www.phpfreaks.com
Wouter Van Vliet wrote:
Chris W. Parker wrote:
Wouter van Vliet <mailto:[EMAIL PROTECTED]> on Friday, November 21, 2003 10:55 AM said:
Point is, which of the inline printing style is preferred by you guyes. I tend to use <?=$Var?> a lot, since it reads easier but get into struggles with myself when I do that multiple times in a row.
Because of this I usually do the following:
echo "<p>here is some text with a $variable in it.<br/>\n" ."And this is another like of text with a $variable1 in it.<br/>\n" ."And so on...<br/>\n" ."And so forth.</p>\n";
I also prefer <?= $variable ?> to <?php echo $variable; ?> except that for the sake of cross-system compatibility* I now choose to do <?php echo $variable; ?>.
Chris.
* What I mean by that is if I give my code to someone else I want it to work with as few changes as possible. Some php installs don't have <? ?> turned on (short tags?).
Well, there is an eye opener. I always thought that the <?=$Var?> printing style was not influenced by short_open_tag, but now I did a test to be sure about it and it turned out it does..
<quick test> 1 <?php 2 echo 'ini setting short_open_tag: '.ini_get('short_open_tag'); 3 ?> 4 5 Long open tags: <?php print 'OK'; ?> 6 Short open tags <? print 'OK'; ?> 7 Short print style <?='OK'?> <output short_open_tags="On"> ini setting short_open_tag: 1 Long open tags: OK Short open tags OK Short print style OK </output> <output short_open_tags="Off"> ini setting short_open_tag: Long open tags: OK Short open tags <? print 'OK'; ?> Short print style <?='OK'?> </output> </quick_test>
Thanks! Wouter
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php