Два отличия:
print
имеет возвращаемое значение (всегда 1), echo
- нет. Поэтому print
можно использовать как выражение.
echo
принимает несколько аргументов. Поэтому вы можете написать echo $a, $b
вместо echo $a . $b
.
Что касается круглых скобок: Они просто неправильные в моих глазах. Они не выполняют никакой функции. С таким же успехом можно написать echo (((((((((($a))))))))))
; люди обычно включают круглые скобки по незнанию, думая, что print
- это функция. Кроме того, это увеличивает вероятность неправильного толкования. Например, print("foo") && print("bar")
не печатает foobar
, потому что PHP интерпретирует это как print(("foo") && print("bar"))
. Поэтому bar1
будет напечатан, хотя он выглядит иначе.