*dAllonE сдуру неделю назад взял на доработку сайт написанный в таком стиле... И ему совсем не смешно теперь.
Потому что print это alias для echo, а ещё есть функция print() которая тоже alias echo, поэтому и быстрее он. А ещё echo умеет так PHP: <?php echo 'Hello', $username, '. Glad to see you again! Last time you were here on ', $lastlogin; // vs echo 'Hello'.$username.'. Glad to see you again! Last time you were here on '.$lastlogin; Кто дагадается что быстрее (естественно все запустят скрипт и проверят, но на самом деле это должно быть ясно при взгляде на код) и почему А вот вряд-ли, т.к. это условный оператор и по сути проверяется условие и потом делается вывод (т.е. echo)
print и echo это две разные языковые конструкции. Это не алиасы друг друга, это просто разные конструкции. Основное отличие в том, что print умеет себя вести как функция, в действительности таковой не являясь. PHP: <?php $f = 'printf'; $f('hello'); $f = 'print'; $f('hello');
Дану брось, уже до автоматизма всё доведено, какие там ошибки синтаксиса. А Я знаю, что быстрее. гы гы... коллайдер.
Vladson, он конечно быстрее, но попробовав на нем начать программировать я понял что изучение его сильно повлияет на мою психику.... Не знаю конечно в лучшую или худшую сторону, но я не рискнул )
Повезло тебе (у меня выбора не было, я начал его учить в 92-м, и тогда у меня не было интернета чтоб кто нибудь меня мог отговорить, теперь у меня не просто "такая рожа" а ещё хуже, у меня рожа не x86 а вообще Z80)
Для тех, кому лень копаться - через запятую перечисляются множественные параметры, т.е. происходит просто множественный вывод, тогда как . - операция конактенации, т.е. склеивания, и как любая операция, требует ресурсов, и выводится лишь один результат всех произведенных операций
Раз пошла такая пьянка. Железео: Intel Dual Core 2.0 GHz, 1024 Mb RAM Софт: Debian GNU/Linux 4.0r3 (Etch), PHP 5.2.6 http://sergey89.ru/echovsprint.php Вывод идёт в буфер. Код (Text): echo 1.34804 print 1.34186 echo 1.34876 print 1.34205
PHP: <?php // echo ob_start(); $s = microtime(true); for ($i = 0; $i < 10000000; $i++) { echo 'hello, world!'; } $e = microtime(true); ob_end_clean(); printf('echo %.5f<br />', $e - $s); // print ob_start(); $s = microtime(true); for ($i = 0; $i < 10000000; $i++) { print 'hello, world!'; } $e = microtime(true); ob_end_clean(); printf('print %.5f<br />', $e - $s);
Sergey89 Всё это укладывается в погрешности, на моём сервере на практике echo быстрее. Вот что у меня: http://file.lv/test.php Да, это на нагруженом сервере обслуживающем 300-350 запросов в секунду (по статистике lighttpd)
Vladson, завидую тебе - с самого начала повсеместного внедрения компов в индустрии... А я в 89 научился ходить и выдергивать шнуры из розеток