Почему эхо быстрее, чем печать? - PullRequest
3 голосов
/ 26 августа 2010

В PHP , почему echo быстрее, чем print?

Они делают то же самое ... Почемуодин быстрее другого?

Они делают точно то же самое?

Ответы [ 5 ]

6 голосов
/ 26 августа 2010

echo и print практически (не технически) одно и то же. Разница между ними (в значительной степени единственная) заключается в том, что print возвращает целое число 1, тогда как echo ничего не возвращает. Имейте в виду, что ни одна из них на самом деле не является функцией, а скорее языковой конструкцией. echo позволяет передавать несколько строк при использовании, как если бы это была функция (например, echo($var1, $var2, $var3)).

echo также можно сократить с помощью синтаксиса <?= $var1; ?> (вместо <?php echo $var1; ?>).

Что касается того, что быстрее, есть много интернет-ресурсов, которые пытаются ответить на этот вопрос. PHP Benchmark делает вывод, что «в действительности функции echo и print служат точным целям, и поэтому в бэкэнде применяется точно такой же код. Единственное, на что нужно обратить внимание, это то, что при использовании запятой для разделения элементы, использующие функцию эха, элементы работают немного быстрее. "

Это действительно сводится к вашим предпочтениям, поскольку различия в скорости (какими бы они ни были на самом деле) незначительны.

2 голосов
/ 26 августа 2010

Print всегда возвращает 1, что, вероятно, также и медленнее

1 голос
/ 26 августа 2010

Печать имеет возвращаемое значение, это единственное отличие.

Разница в скорости (если есть) настолько незначительна, что не стоит задумываться о таких микрооптимизациях, и абсолютно не стоит обновлять старый код, чтобы переключать отпечатки в эхо. Есть гораздо лучшие способы ускорить ваш сайт, если это ваша цель.

0 голосов
/ 12 сентября 2018

Как показывает мой опыт и знания, Вы не правы .print быстрее, чем echo в автобане и гипертекстах циклов.

Что быстрее?

Я реализую тест, который показывает разницу между print и echo.

$start = microtime(1);
for($i = 0; $i < 100000; $i++)
    echo "Hello world!";

echo "echo time: " . round(microtime(1) - $start, 5);

$start = microtime(1);
for($i = 0; $i < 100000; $i++)
    print "Hello world!";

echo "print time: " . round(microtime(1) - $start, 5);

результат:

echo time: .09
print time: .04

Другая ссылка - phpbench , которая показывает этот факт.

Сравнение

Сейчассамое время выяснить, почему print быстрее, чем echo.Конечно, когда вы используете циклы, php проверяет, есть ли у echo несколько значений для печати или нет, но всегда print может принимать только один параметр, и его не нужно проверять в циклах.также, когда есть множество значений для эхо-ошибок, например, преобразование их в строку и потоковая передача, я верю, что в огромных гипертекстах эта проблема также возникает, потому что вы заставляете php обрабатывать перед печатью.Но в небольших работах, таких как печать, хорошо только небольшое строковое эхо (если рассматривать конкатенации), потому что оно не возвращает ничего похожего на печать.

0 голосов
/ 26 августа 2010

Различия здесь разбиты: Производительность PHP: Echo & Print

...