Top.Mail.Ru
Ответы

Вопрос для PHP-программистов. В чем разница между функциями print и echo?

По дате
По рейтингу
Аватар пользователя
Новичок
13лет

Print() - это функция
Echo - конструкция

Аватар пользователя
Просветленный
13лет

print - специальная языковая конструкция, которая может принимать на вход один параметр и печатать его. print всегда возвращает 1, поэтому может быть использован в контексте выражения. Другими словами, print синтаксически является унарным оператором с приоритетом ниже ?: и = и выше and.

echo - это специальная языковая конструкция, которая может принимать на вход произвольное количество аргументов и печатать их. Функция echo не возвращает никаких значений, а потому не может использоваться в контексте выражения.

Функция echo выполняется незначительно быстрее чем print.

Аватар пользователя
Профи
13лет

читаем первоисточник:
int print ( string $arg )
print() не является "настоящей" функцией (это конструкция языка) , поэтому заключать аргументы в скобки необязательно.
Возвращает 1, всегда.
void echo ( string $arg1 [, string $... ] )
На самом деле echo() - это не функция, а конструкция языка, поэтому заключать аргументы в скобки необязательно.. .
echo() имеет также краткую форму, представляющую собой знак равенства, следующий непосредственно за открывающим тэгом. I have <?=$foo?> foo.
Эта функция не возвращает значения после выполнения.

Итого: print принимает 1 аргумент, echo множество, print возвращает 1, echo - ничего не возвращает.

Источник: https://php.net