[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: echo и print
gst2009
в чем отличие этих двух команд?




Спустя 4 минуты, 9 секунд (21.04.2010 - 13:20) ak167 написал(а):
echo работает быстрее.

Спустя 5 минут, 58 секунд (21.04.2010 - 13:26) Unlikely написал(а):

<?php
echo "Привет мир!";

echo "Это занимет
несколько строк. Переводы строки тоже
выводятся"
;

echo "Это занимет\nнесколько строк. Переводы строки тоже\nвыводятся";

echo "Экранирование символов делается \"Так\".";

// с echo можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

echo "foo - это $foo"; // foo - это foobar

// ... и массивы

$bar = array("value" => "foo");

echo "это {$bar['value']} !"; // это foo !

// При использовании одиночных кавычек выводится
// имя переменной,а не значение

echo 'foo - это $foo'; // foo - это $foo

// можно вывести просто значения переменных

echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz

// Некоторые предпочитают передачу нескольких аргументов
// вместо конкатенации

echo 'Эта ', 'строка ', 'была ', 'создана ', 'несколькими параметрами.', chr(10);
echo 'Эта ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.' . "\n";

echo <<<END
Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных
$variable.
Заметьте,что закрывающий идентификатор должен
располагаться в отдельной строке. никаких пробелов!

END;

// Следующая строка неверна, так как echo не является функцией
($some_var) ? echo 'true' : echo 'false';

// Но это можно записать по другому
($some_var) ? print('true'): print('false'); // print является функцией
echo $some_var ? 'true': 'false'; // echo вынесен за пределы выражения
?>



<?php
print ("Привет мир!");

print "print() можно использовать и без скобок.";

print "Это занимет
несколько строк. Переводы строки тоже
выводятся"
;

print "Это занимет\nнесколько строк. Переводы строки тоже\nвыводятся";

print "Экранирование символов делается \"Так\".";

// с print можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

print "foo - это $foo"; // foo - это foobar

// ... и массивы

$bar = array("value" => "foo");

print "это {$bar['value']} !"; // это foo !

// При использовании одиночных кавычек выводится
// имя переменной,а не значение

print 'foo - это $foo'; // foo - это $foo

// можно вывести просто значения переменных

print $foo; // foobar
print $foo,$bar; // foobarbarbaz

print <<<END
Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных
$variable.
Заметьте,что закрывающий идентификатор должен
располагаться в отдельной строке. никаких пробелов!

END;
?>

Спустя 19 минут, 29 секунд (21.04.2010 - 13:46) gst2009 написал(а):
Unlikely
спасибо за развернутый ответ.

Спустя 1 час, 19 минут, 25 секунд (21.04.2010 - 15:05) twin написал(а):
Самое главное не написал. echo - это языковая конструкция. print - почти функция. И хоть обе реализованы на уровне ядра, отличие есть. По скорости уже сказали, но главное - print возвращает 1 при удачном исходе. echo ничего не возвращает. Допустим print может быть использован так:
for($i = 0; $i < 10; $i++, print('! '))
echo "Ура";
а с echo такое не пройдет.

Спустя 21 минута, 26 секунд (21.04.2010 - 15:27) vasa_c написал(а):
Цитата
echo работает быстрее.

Обосраться!

Простите... не обращайте внимания...

Спустя 34 минуты, 41 секунда (21.04.2010 - 16:01) waldicom написал(а):
Цитата (twin @ 21.04.2010 - 14:05)
По скорости уже сказали, но главное - print возвращает 1 при удачном исходе. echo ничего не возвращает.

Это врядли... print() всегда возвращает 1 и print() не функция

А по-поводу "быстрее" присоединюсь к мнению Олега...

Спустя 1 час, 11 минут, 54 секунды (21.04.2010 - 17:13) Unlikely написал(а):
Так что же быстрей? И почему?

Спустя 2 минуты, 7 секунд (21.04.2010 - 17:15) waldicom написал(а):
Цитата (Unlikely @ 21.04.2010 - 16:13)
Так что же быстрей? И почему?

А какая разница, что быстрее?

Спустя 3 минуты, 29 секунд (21.04.2010 - 17:19) glock18 написал(а):
Нашли скорость у чего сравнивать

Спустя 4 минуты, 39 секунд (21.04.2010 - 17:23) Han написал(а):
Что значит реализованно на уровне ядра?

Спустя 8 минут, 47 секунд (21.04.2010 - 17:32) Unlikely написал(а):
Цитата (waldicom @ 21.04.2010 - 14:15)
Цитата (Unlikely @ 21.04.2010 - 16:13)
Так что же быстрей? И почему?

А какая разница, что быстрее?

Что за вопрос?

Спустя 7 минут, 35 секунд (21.04.2010 - 17:40) waldicom написал(а):
Цитата (Unlikely @ 21.04.2010 - 16:32)
Цитата (waldicom @ 21.04.2010 - 14:15)
Цитата (Unlikely @ 21.04.2010 - 16:13)
Так что же быстрей? И почему?

А какая разница, что быстрее?

Что за вопрос?

Повторюсь: какая разница, что быстрее. Причем! Это не риторический вопрос, а самый что ни есть важный. Приведи причины, для чего это необходимо знать.

Спустя 10 минут, 19 секунд (21.04.2010 - 17:50) Unlikely написал(а):
Цитата (waldicom @ 21.04.2010 - 14:40)
Цитата (Unlikely @ 21.04.2010 - 16:32)
Цитата (waldicom @ 21.04.2010 - 14:15)
Цитата (Unlikely @ 21.04.2010 - 16:13)
Так что же быстрей? И почему?

А какая разница, что быстрее?

Что за вопрос?

Повторюсь: какая разница, что быстрее. Причем! Это не риторический вопрос, а самый что ни есть важный. Приведи причины, для чего это необходимо знать.

Для поднятия уровня образованности, эрудированности.
Просто интересно.
Возможно когда нибудь пригодится.
Хочу всё знать.
В ситуации когда кто нибудь задастся таким вопросом, я смогу блеснуть знаниями и показать всем что я мега крутой программист.
Вдруг при трудоустройстве на работу, меня спросят, что быстрей, а я не знаю ответа на этот вопрос и меня не возьмут.

Спустя 1 минута, 58 секунд (21.04.2010 - 17:52) Unlikely написал(а):
Могу ещё найти несколько причин. Хотя и этих достаточно я думаю.

Спустя 2 минуты, 31 секунда (21.04.2010 - 17:55) DedMorozzz написал(а):
waldicom
Пример - пожалуйста : "я вывожу на экран браузера, к примеру текст". Сайт невероятно нагружен 1кк посетителей в час. разница в 0.001сек уже прочувствуеться
Unlikely
возьми и проверь. выведи 10000 записей принтом, засеки время. Выведи то же самое с помощью "ечо" и засеки. И сравни. Засекай естесно пыхом.

Спустя 8 минут, 35 секунд (21.04.2010 - 18:03) DedMorozzz написал(а):
$start1=microtime();
for ($i=0;$i<100000;$i++) {echo 'a';}
$end1=microtime();
echo $res1=$start1-$end1;
echo "<br><br><br>";
$start2=microtime();
for ($i=0;$i<100000;$i++) {print 'a';}
$end2=microtime();
echo $res2=$start2-$end2;

пользуйся. Только желательно ещё больше увеличить кол-во итераций. на 100 000 - одинаково примерно.

Спустя 4 минуты, 22 секунды (21.04.2010 - 18:08) glock18 написал(а):
Цитата (DedMorozzz @ 21.04.2010 - 14:55)
возьми и проверь. выведи 10000 записей принтом, засеки время. Выведи то же самое с помощью "ечо" и засеки. И сравни. Засекай естесно пыхом.


святая наивность...

Unlikely
причины как-то не очень. если для интереса просто, то выше основные различия уже расписали. не стоит только сейчас все print на echo заменять.

все эти 0.00001 на счету у вас... ради интереса засеките сколько времени обрабатывается самый простой запрос к базадате.

Спустя 1 минута, 21 секунда (21.04.2010 - 18:09) waldicom написал(а):
Цитата (DedMorozzz @ 21.04.2010 - 16:55)
Пример - пожалуйста : "я вывожу на экран браузера, к примеру текст". Сайт невероятно нагружен 1кк посетителей в час. разница в 0.001сек уже прочувствуеться

Гм гм...

Спустя 39 секунд (21.04.2010 - 18:10) DedMorozzz написал(а):
glock18
Все мы прекрасно понимаем, что это зависит от кол-ва запущеных программ, что именно в ТУ сек обращалось и так далее, но среднее арифметич 1000 запоросов даст очень(!) хороший результат. Не меняя настроек.

Спустя 2 минуты, 24 секунды (21.04.2010 - 18:12) Unlikely написал(а):

$i = 1;

while ($i <= 10000) {

print $i;
$i++;

}


echo 0.006906
print 0.013116

Спустя 1 минута, 39 секунд (21.04.2010 - 18:14) DedMorozzz написал(а):
=) сделай не 1 запрос. Прочти мой пост выше.

Спустя 5 минут, 22 секунды (21.04.2010 - 18:19) twin написал(а):
waldicom
Цитата
Это врядли... print() всегда возвращает 1 и print() не функция

Ну всегда или не всегда, история умалчивает)) Нет просто объективных причин вернуть что то другое)) И я не написал, что это функция. Я написал "почти". Это полуфункция или полуконструкция, так как сочетает в себе некоторые признаки обоих


Мне лично больше всего импонирует в echo то, что там на одну букву меньше))


Спустя 1 минута, 13 секунд (21.04.2010 - 18:20) glock18 написал(а):
да, вот мы и получили ответ на этот наиважнейший вопрос. я даже не побоюсь этого слова, тесты проводились на машине с OS с GI?

Спустя 45 секунд (21.04.2010 - 18:21) Unlikely написал(а):
Цитата (glock18 @ 21.04.2010 - 15:08)
Цитата (DedMorozzz @ 21.04.2010 - 14:55)
возьми и проверь. выведи 10000 записей принтом, засеки время. Выведи то же самое с помощью "ечо" и засеки. И сравни. Засекай естесно пыхом.


святая наивность...

Unlikely
причины как-то не очень. если для интереса просто, то выше основные различия уже расписали. не стоит только сейчас все print на echo заменять.

все эти 0.00001 на счету у вас... ради интереса засеките сколько времени обрабатывается самый простой запрос к базадате.

Ничего я заменять не собирался smile.gif

Спустя 1 минута, 1 секунда (21.04.2010 - 18:22) glock18 написал(а):
Цитата
print() is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list.


Цитата
Returns 1, always.

Спустя 12 секунд (21.04.2010 - 18:22) Unlikely написал(а):
Цитата (DedMorozzz @ 21.04.2010 - 15:14)
=) сделай не 1 запрос. Прочти мой пост выше.

И так echo быстрей.

Спустя 47 секунд (21.04.2010 - 18:23) DedMorozzz написал(а):
есть возможность разве запустить браузер без GI?
По крайней мере Дебиан ругаеться...мол не станет

Спустя 5 минут, 2 секунды (21.04.2010 - 18:28) Unlikely написал(а):
Цитата (glock18 @ 21.04.2010 - 15:20)
да, вот мы и получили ответ на этот наиважнейший вопрос. я даже не побоюсь этого слова, тесты проводились на машине с OS с GI?

У меня север не установлен.
Все опыты провожу у хостера smile.gif
Ну а там, как обычно всё.

Спустя 7 минут, 27 секунд (21.04.2010 - 18:35) Han написал(а):
Самое главное отличи которое могут у тебя спросить на собеседовании и вообще это то что print() (как правильно сказал waldicom) возвращает true если печать совершена и наоборот.

Спустя 7 минут, 12 секунд (21.04.2010 - 18:43) glock18 написал(а):
Цитата (Han @ 21.04.2010 - 15:35)
(как правильно сказал waldicom) возвращает true если печать совершена и наоборот.


как раз waldicom сказал правильно, что print всегда возвращает 1

Спустя 26 минут, 5 секунд (21.04.2010 - 19:09) waldicom написал(а):
нифига се...

Спустя 3 часа, 26 минут, 36 секунд (21.04.2010 - 22:35) Han написал(а):
Действительно возвращает 1. Может в С она возвращает истину? Просто я почему то это запомнил не от фанаря же.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.