If I use print
in this code:
<?php
for($i = 1; $i <= 3; print $i . "\n") {
$i++;
}
?>
I see as output this:
2
3
4
But when I use echo
the code doesn't work:
<?php
for($i = 1; $i <= 3; echo $i . "\n") {
$i++;
}
?>
I see this error:
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in /media/datos/xampp/htdocs/temp/1.php on line 3
My question is:
print
as a third expression in a for
loop, but cannot when using echo
and why do they behave differently from each other?References:
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";
Some part of my answer are part of below answer. I think this is the answer of your question. Most important part is print()
behaves like a function
see this answer: https://stackoverflow.com/a/234255/1848929
What about echo
:
Note: Because this is a language construct and not a function, it cannot be called using variable functions.
see notes part on this page: http://us2.php.net/manual/en/function.echo.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With