Чем отличаются echo и print в PHP?[дубликат]

StackOverflow https://stackoverflow.com/questions/234241

  •  04-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

  1. Скорость.Существует разница между ними, но с точки зрения скорости она должна быть неактуальной, какой вы используете.Echo немного быстрее, так как он не устанавливает возвращаемое значение, если вы действительно хотите добраться до Nitty Gritty.

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

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

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

  1. Параметр(ы).Грамматика: echo expression [, expression[, expression] ... ] Но echo ( expression, expression ) не действует.Это было бы действительно: echo ("howdy"),("partner");такой же как: echo "howdy","partner";(Помещение кронштейнов в этот простой пример не служит цели, поскольку нет никакой проблемы с приоритетом оператора с таким одним термином, как это.)

Таким образом, Echo без скобок может принимать несколько параметров, которые объединяются:

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

Другие советы

Они есть:

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

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

$count = 5;

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

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

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

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

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

Как предполагает руководство по 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)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top