SharePoint Alfresco PHP MySQL
О сайте Контакты
воскресенье, 18 декабря 2011 г.

Разница между print и echo в PHP

Очень часто всплывает вопрос, в чем отличие между print и echo в PHP? Поняв разницу, можно использовать в каждом конкретном случае наиболее применимую конструкцию.



1) print возвращает всегда единицу (1), echo не возвращает ничего (void). Так как echo не возвращает никаких значений, то и выполняется быстрее, чем print (ровно на величину ресурсов, требуемых на возврат значения. Величина незначительная, но все же);

2) как следствие, print можно использовать в выражениях, а echo - нет;

3) echo - не функция, а языковая конструкция. Поэтому использовать скобки необязательно. Более того, если требуется передать несколько аргументов в echo, то скобки использовать нельзя, нужно просто указывать аргументы через запятую;

4) print также можно использовать без скобок (это также «ненастоящая» функция, языковая конструкция), но передать можно только один аргумент;

5) у echo есть сокращенная форма записи: <?=$foo?>;

Из вышесказанного следует, что в большинстве случаев, если надо что-то вывести на экран или в буфер, выгоднее использовать echo. А теперь, попробуйте угадать, что выведет следующий код:

echo 1 . print(2), 3;

Будет выведено 2113.

Sergey Lysenko, воскресенье, 18 декабря 2011 г.

Комментарии: