За последние 24 часа нас посетили 17739 программистов и 1721 робот. Сейчас ищут 889 программистов ...

echo vs print

Тема в разделе "Прочее", создана пользователем Mr.M.I.T., 9 июл 2008.

  1. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Чё за нафиг, echo работает быстрее print
    Тест:
    PHP:
    1. <?
    2. function get_real_time() {
    3.     list($seconds, $microSeconds) = explode(' ', microtime());
    4.     return ($seconds + $microSeconds);
    5.  }
    6. $time=get_real_time();
    7.  
    8. for($i=0;$i<=100;$i++) {
    9.    print "Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст оооо даааааа тееекст...<br>";
    10. }
    11.  
    12. print "<br><br>".(get_real_time()-$time);
    13. ?>
    Результат 0.00105905532837
    Потом
    PHP:
    1. <?
    2. function get_real_time() {
    3.     list($seconds, $microSeconds) = explode(' ', microtime());
    4.     return ($seconds + $microSeconds);
    5.  }
    6. $time=get_real_time();
    7.  
    8. for($i=0;$i<=100;$i++) {
    9.    echo "Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст оооо даааааа тееекст...<br>";
    10. }
    11.  
    12. echo "<br><br>".(get_real_time()-$time);
    13. ?>
    И стабильный результат 0.000697135925293 !!!

    как это возможно?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    print кроме вывода информации еще и возвращает true при выполнении, echo ничего не возвращает.
    Print немного отличная от echo функция.
    Например, если в коде:
    PHP:
    1.  
    2. <?php
    3. $a=1;
    4. $a==1?print 'Ok':print 'Error';
    5. ?>
    print заменить на echo, то работать он не будет.
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    хуйнёй не занимайся и всё будет ок.
     
  4. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    0.0004 секунды это вам не шуточки =)))
    0о мы не одиноки...
     
  6. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    +100 :lol:
     
  7. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    А конструкция <?=$text?> - это echo, print, или это ваще что-то третье?! )))
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Мы всей конторой, после пива, заявляем - print suck, echo forever! буогагага =)
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    а вам в ответ: "Parse error"...
     
  10. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    неа!
    print печатать удобнее чем echo ...
     
  11. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    =) знал бы ты как тут народ твой пост прокомментировал

    // кстати почему парс эрор?
     
  12. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Да я догадываюсь... Знал, что пишу :oops:

    Синтаксис :)
     
  13. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Быстрее всего работал вот такой код:
    PHP:
    1.  <?php
    2.  function get_real_time() {
    3.      list($seconds, $microSeconds) = explode(' ', microtime());
    4.      return ($seconds + $microSeconds);
    5.   }
    6.  $time=get_real_time();
    7.  
    8.  for($i=0;$i<=100;$i++) {
    9.  ?>
    10.     Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст Тееекст Теекст оооо даааааа тееекст...<br>
    11.  <?php
    12.  }
    13.  
    14.  print "<br><br>".(get_real_time()-$time);
    15.  ?>
    А конструкция <?= оказалась самой медленной.
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    [vs]
    Вообще, конструкция echo и print были созданы для вывода строковых данных небольшой длинны, но никак не больших текстов. Для больших текстов рекомендуется "выходить" из php - это наиболее оптимально. Почему-то многие об этом забыли и выводят по тысячи строк через echo и высмеивают другие варианты.
     
  15. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Kreker
    ню-ню... :)
    Так давайте же использовать PERL вместо PHP... :)
     
  16. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    topas
    Q: как правильно написать прогу на Си
    A: int main () {
    ____asm {
    ________mov eax,0
    ________cpuid
    ____}
    }

    Ладно забыли многие и вовсе не знали...
     
  17. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Vladson
    я Си начал изучать именно с этого примера :)

    Kreker
    Приведите, пожалуйста, цифры реального проекта (с подключением к БД например), чтобы можно было решить - целесообразно или нет использовать echo (print)

    All
    Имхо писать можно и echo и print, дело вкуса, единственное ограничение: в рамках одного проекта должен быть единый стандарт. Или echo, или print, или Что-то еще
     
  18. Anonymous

    Anonymous Guest

    Фигня. Я приехал с курсов по Oracle Application Portal. Вот это истинное зло!
    После него Битрикс - шедевр логичности.
     
  19. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Лично я такими опытами не занимался, говорю то, что было исследовано не раз (много читал по этому поводу в свое время).
    Да и сами подумайте - чем больше данных мы прогоняем через функцию, тем больше время её работы. Разве не логично?
    Просто надо стараться хотя бы основной шаблон не прогонять через Echo, хотя особой массы по сравнению с контентом он и не несет.
    В принципе все зависит от проекта... Просто надо помнить, что для чего. Я согласен, что без этих конструкций не обойтись в 98% случаев.
     
  20. Anonymous

    Anonymous Guest

    Угу. Тут важно знать, что echo - не функция, а языковой конструкт. Поэтому она и быстрее, чем print
     
  21. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Должно быть всё там где оно рационально, а единый стандарт или их 20 штук это разговор отдельный...
     
  22. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Vladson
    Я лишь имею ввиду то, что нет смысла в одном файле использовать и echo и print одновременно.


    Горбунов Олег
    Спасибо за информацию о Зле
    +1 за упоминание про конструкцию echo

    Kreker
    А я скажу что print - фигня по сравнению с мировой революцией
     
  23. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    print тоже не функция, а языковая конструкция.
     
  24. Anonymous

    Anonymous Guest

    возможно. я ей не пользовался никогда. )

    http://www.faqts.com/knowledge_base/vie ... d/1/fid/40
     
  25. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    PHP:
    1. <? if(то) { ?>
    2. Выводим то
    3. <? } else { ?>
    4. Выводим это
    5. <? } ?>
    Так должно быть еще быстрее!!!!!!!!!!!!!!!!!!11111111Ё