Чем echo отличается от print

На собеседованиях любят задавать самые каверзные вопросы с подколками. Одним из таких вопросов является вопрос о разнице между echo и print. Многие даже очень опытные программисты считают их синонимами, потому что ведут себя они одинаково:

<?php
print "Hello World!";
echo "Hello World!";

И то и то выдаст "Hello World!", однако разница между ними все же есть, просто сложно придумать ситуацию, в которой она была бы заметна:

  1. print возвращает true/false в зависимости от того, удачен вывод или нет. Я не представляю себе ситуации, в которой она бы вернула false, но наверное есть... echo ничего не возвращает;
  2. echo нельзя использовать со скобками, т.е. echo(123) - выдаст ошибку, print(123) - нормально отработает;
  3. Понятное дело что из-за п.1 echo работает быстрее чем print. Разница несущественная, но есть и это неплохо знать;
  4. В echo можно передать несколько параметров для вывода через запятую (echo 123, 'aaaa', 33 ;) и они выведутся последовательно. В print нет.

Я не уверен, все ли я описал тут, но думаю достаточно чтобы выяснить что они ни разу не синонимы. Если кто знает еще - пишите в коменты - буду рад узнать что-нить новое.

Комментарии (5) на “Чем echo отличается от print”

  1. Просто print() — функция,
    а echo — конструкция языка.

  2. Станислав:

    на эту тему есть такая фишка
    echo ‘3′ + ‘0.5′ , print(’2′) + 1;

  3. test:

    1 - не правда. Всегда возвращает 1.
    2 - не правда, можно echo со скобками использовать.

    зачем писать неправду? :)

  4. Илья:

    test:

    Выводиться всегда один потому, что функция выполняется успешно. попробуй сделать так чтобы исполнение функции было бы невозможно - у тебя это скорее всего не получится (хотя кто тебя знает ;-) )

  5. Севр:

    Илья, test скорее всего говорил о том что print возвращает 1 ( тип данных int), а не булево true. Это большая разница.

Оставить комментарий

В Вашем браузере отключена поддержка JavaScript! Для корректной работы Вам необходимо включить поддержку JavaScript и обновить данную страницу.

Информеры с тИЦ и PR: получить код для сайта