2010-08-22 3 views
8

Возможные Duplicates:
How are echo and print different in PHP?
Is there any difference between ‘print’ and ‘echo’ in PHP?
What’s the difference of echo,print,print_r in PHP?Различия между эхо, эхо(), печать и печать() в PHP

Есть несколько способов напечатать вывод в PHP; включая, но не ограничиваясь:

echo 'Hello'; 
echo ('Hello'); 
print 'Hello'; 
print ('Hello'); 

Есть ли различия между этими четырьмя? Кроме того, заключают ли скобки какие-либо различия?

+0

Почему все «дублирующие» ответы приводят к «закрытым возможностям дублирования ответов»? – Bonzo

ответ

1

Два отличия:

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

echo принимает несколько аргументов. Поэтому вы можете написать echo $a, $b вместо echo $a . $b.

Относительно круглых скобок: они просто неправильные в моих глазах. У них вообще нет функции. Вы могли бы написать echo (((((((((($a)))))))))); люди обычно включают скобки из невежества, считая, что print является функцией. Кроме того, это увеличивает вероятность неправильного толкования. Например, print("foo") && print("bar") не печатает foobar, потому что PHP интерпретирует это как print(("foo") && print("bar")). Так что bar1 будет напечатан, хотя он выглядит по-другому.

+0

Я знаю, что Python - это не PHP, но они [запрещены] (http://docs.python.org/release/3.0.1/whatsnew/3.0.html#print-is-a-function) использование 'print ' что-то ", теперь вам всегда нужно использовать' print ('something') 'с круглыми скобками. – Aillyn

+0

Также см .: http://www.ideone.com/LUOOG – Aillyn

+0

№ Это действительно имеет значение. Даже при том, что он выводит ту же версию с круглыми скобками * выглядит * по-разному. Скобки и функция, такие как форматирование, выглядят иначе. По крайней мере, я бы обманул себя, думая, что он выводит «foobar», если я не перестану думать об этом. – NikiC

Смежные вопросы