Возможный дубликат:
Ссылка: сравнение печати и эха PHP
Есть ли какое-либо существенное и фундаментальное различие между этими двумя функциями в PHP?
Возможный дубликат:
Ссылка: сравнение печати и эха PHP
Есть ли какое-либо существенное и фундаментальное различие между этими двумя функциями в PHP?
С: http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40
Скорость. Существует различие между ними, но по скорости это должен быть неактуальным, какой вы используете. эхо немного быстрее поскольку он не устанавливает возвращаемое значение, если вы действительно хотите перейти к nitty gritty.
. print()
ведет себя как функция, которую вы можете сделать:
$ret = print "Hello World"
; И $ret
будет 1
. Это означает, что печать
может использоваться как часть более сложного выражения, где эхо не может.
пример из руководства PHP:
$b ? print "true" : print "false";
print также является частью таблицы приоритетов, которая должна быть, если она должен использоваться в сложном выражении. Это примерно на дне списка приоритетов. Только "," AND, OR и XOR ниже.
echo expression [, expression[,
expression] ... ]
Но echo ( expression, expression )
неверно.
Это было бы верно: echo ("howdy"),("partner")
; то же самое: echo
"howdy","partner"
; (Вставка скобок в этом простом примере
служит
нет цели, так как нет проблемы с приоритетом оператора с одним
такой срок.)Итак, эхо без круглых скобок может принимать несколько параметров, которые получают сцепляются:
echo "and a ", 1, 2, 3; // comma-separated without parentheses
echo ("and a 123"); // just one parameter with parentheses
print()
может принимать только один параметр:
print ("and a 123");
print "and a 123";
Это:
Чтобы добавить к вышеприведенным ответам, в то время как печать может принимать только один параметр, это позволит объединить несколько значений, например:
$count = 5;
print "This is " . $count . " values in " . $count/5 . " parameter";
Это 5 значений в 1 параметре
Как следует из руководства PHP.net, прочитайте это обсуждение.
Одно существенное отличие состоит в том, что echo
может принимать несколько параметров для вывода. Например:.
echo 'foo', 'bar'; // Concatenates the 2 strings
print('foo', 'bar'); // Fatal error
Если вы хотите оценить результат вывода (как показано ниже), используйте print
. Если нет, используйте echo
.
$res = print('test');
var_dump($res); //bool(true)
Я думаю, что print()
медленнее, чем echo
.
Мне нравится использовать print()
только для таких ситуаций, как:
echo 'Doing some stuff... ';
foo() and print("ok.\n") or print("error: " . getError() . ".\n");