Как эхо и печать отличаются в PHP? [дубликат]

208
задан Community 23 May 2017 в 02:02
поделиться

5 ответов

От: http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40

  1. Скорость. Существует различие между этими двумя, но мудрый скоростью это должно быть не важно, какой Вы используете. эхо незначительно быстрее, так как оно не устанавливает возвращаемое значение, если Вы действительно хотите перейти к вшивому песчаному.

  2. Выражение. print() ведет себя как функция, в которой можно сделать: $ret = print "Hello World"; И $ret будет 1. Это означает, что печать может использоваться в качестве части более сложного выражения, где эхо не может. Пример из Руководства PHP:

$b ? print "true" : print "false";

печать является также частью таблицы приоритета, которой это должно быть, если это должно использоваться в сложном выражении. Это примерно в нижней части списка приоритета все же. Только"", И, ИЛИ и XOR ниже.

  1. Параметр (параметры). Грамматика: 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";
279
ответ дан Bahram Ardalan 23 November 2019 в 04:41
поделиться

Они:

  • печать только берет один параметр, в то время как эхо может иметь несколько параметров.
  • печать возвращает значение (1), так может использоваться в качестве выражения.
  • эхо немного быстрее.
74
ответ дан Jesse 23 November 2019 в 04:41
поделиться

Для добавления к ответам выше, в то время как печать может только взять один параметр, она будет допускать конкатенацию нескольких значений, т.е.:

$count = 5;

print "This is " . $count . " values in " . $count/5 . " parameter";

Это - 5 значений в 1 параметре

9
ответ дан Gwenc37 23 November 2019 в 04:41
поделиться

Я думаю print(), медленнее, чем echo.

мне нравится использовать print() только для ситуаций как:

 echo 'Doing some stuff... ';
 foo() and print("ok.\n") or print("error: " . getError() . ".\n");
7
ответ дан A J 23 November 2019 в 04:41
поделиться

Как руководство 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)
6
ответ дан Johnathan Elmore 23 November 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: