Спустя 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) | ||
А какая разница, что быстрее? |
Что за вопрос?
Спустя 7 минут, 35 секунд (21.04.2010 - 17:40) waldicom написал(а):
Цитата (Unlikely @ 21.04.2010 - 16:32) | ||||
Что за вопрос? |
Повторюсь: какая разница, что быстрее. Причем! Это не риторический вопрос, а самый что ни есть важный. Приведи причины, для чего это необходимо знать.
Спустя 10 минут, 19 секунд (21.04.2010 - 17:50) Unlikely написал(а):
Цитата (waldicom @ 21.04.2010 - 14:40) | ||||||
Повторюсь: какая разница, что быстрее. Причем! Это не риторический вопрос, а самый что ни есть важный. Приведи причины, для чего это необходимо знать. |
Для поднятия уровня образованности, эрудированности.
Просто интересно.
Возможно когда нибудь пригодится.
Хочу всё знать.
В ситуации когда кто нибудь задастся таким вопросом, я смогу блеснуть знаниями и показать всем что я мега крутой программист.
Вдруг при трудоустройстве на работу, меня спросят, что быстрей, а я не знаю ответа на этот вопрос и меня не возьмут.
Спустя 1 минута, 58 секунд (21.04.2010 - 17:52) Unlikely написал(а):
Могу ещё найти несколько причин. Хотя и этих достаточно я думаю.
Спустя 2 минуты, 31 секунда (21.04.2010 - 17:55) DedMorozzz написал(а):
waldicom
Пример - пожалуйста : "я вывожу на экран браузера, к примеру текст". Сайт невероятно нагружен 1кк посетителей в час. разница в 0.001сек уже прочувствуеться
Unlikely
возьми и проверь. выведи 10000 записей принтом, засеки время. Выведи то же самое с помощью "ечо" и засеки. И сравни. Засекай естесно пыхом.
Пример - пожалуйста : "я вывожу на экран браузера, к примеру текст". Сайт невероятно нагружен 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 запоросов даст очень(!) хороший результат. Не меняя настроек.
Все мы прекрасно понимаем, что это зависит от кол-ва запущеных программ, что именно в ТУ сек обращалось и так далее, но среднее арифметич 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) | ||
святая наивность... Unlikely причины как-то не очень. если для интереса просто, то выше основные различия уже расписали. не стоит только сейчас все print на echo заменять. все эти 0.00001 на счету у вас... ради интереса засеките сколько времени обрабатывается самый простой запрос к базадате. |
Ничего я заменять не собирался

Спустя 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? |
У меня север не установлен.
Все опыты провожу у хостера

Ну а там, как обычно всё.
Спустя 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. Может в С она возвращает истину? Просто я почему то это запомнил не от фанаря же.