Конструкции print
и echo
направляют вывод значений в выходной документ, который отображается браузером. При выполнении примеров и других экспериментальных кодов на языке PHP, а также при отладке реальных сценариев очень полезно организовать вывод промежуточных и окончательных результатов на экран.
Давайте же опишем разницу между ними, и поймем, когда нужно использовать echo
или print
.
Первое, print
ведет себя как функция, которая всегда возвращает значение 1. Конструкция echo
, которая не является функцией, ничего не возвращает, в результате чего выполняется быстрее. Причиной этого является тот простой факт, что print
возвращает статус состояния совершенной операции, в то время как echo
просто печатает текст и ничего больше не делает. Применяться print
может в условных конструкциях с тернарным оператором:
$var = 5;
( $var > 0 ) ? print 'Yes' : print 'No';
Если в этом примере print
заменить echo
, то скрипт работать не будет, так как echo
- не функция. Данное выражение можно записать и с конструкцией echo
:
echo ( $var > 0 ) ? 'Yes' : 'No';
На первый взгляд, использование подобных конструкций кому-то может показаться совсем не нужным, но, если подумать, можно найти в этой особенности много полезных применений, так что на вооружение это стоит взять по-любому.
Второе, print
и echo
различаются по переданным параметрам. С помощью функции print
можно передавать только один параметр, в то время как echo
принимает их огромное количество. Это можно понять на следующем примере:
echo 'Данная ', 'строка ', 'была ', 'создана ', 'несколькими параметрами.';
echo 'Данная ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.';
// в print работает только так:
print 'Данная ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.';
Лучше, конечно, для вывода информации использовать echo
по умолчанию, и print
, где это необходимо.