Two differences:
print
has a return value (always 1), echo
doesn't. Therefore print
can be used as an expression.
echo
accepts multiple arguments. So you may write echo $a, $b
instead of echo $a . $b
.
Concerning the parentheses: They are simply wrong in my eyes. They have no function at all. You could as well write echo (((((((((($a))))))))))
; people usually include parentheses from ignorance, thinking that print
is a function. Furthermore it increases the chance of misinterpretation. For example print("foo") && print("bar")
does not print foobar
, because PHP interprets this as print(("foo") && print("bar"))
. So bar1
would be printed, even though it looks different.