Как эхо и печать отличаются в PHP?

Возможный дубликат:
Ссылка: сравнение печати и эха PHP

Есть ли какое-либо существенное и фундаментальное различие между этими двумя функциями в PHP?

Ответ 1

С: 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 ниже.

  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";

Ответ 2

Это:

  • print только принимает один параметр, в то время как эхо может иметь несколько параметров.
  • print возвращает значение (1), поэтому может использоваться как выражение.
  • эхо немного быстрее.

Ответ 3

Чтобы добавить к вышеприведенным ответам, в то время как печать может принимать только один параметр, это позволит объединить несколько значений, например:

$count = 5;

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

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

Ответ 4

Как следует из руководства 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)

Ответ 5

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

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

 echo 'Doing some stuff... ';
 foo() and print("ok.\n") or print("error: " . getError() . ".\n");