PHP中echo、echo()、print和print()之间的差异

PHP中echo、echo()、print和print()之间的差异,php,printing,echo,Php,Printing,Echo,可能的重复项: 有几种方法可以在PHP中打印输出;包括但不限于: echo 'Hello'; echo ('Hello'); print 'Hello'; print ('Hello'); 这四个之间有什么区别吗?另外,括号有什么区别吗?两个区别: print有一个返回值(始终为1),echo没有。因此,print可以用作表达式 echo接受多个参数。因此,您可以编写echo$a、

可能的重复项:


有几种方法可以在PHP中打印输出;包括但不限于:

echo 'Hello';
echo ('Hello');
print 'Hello';
print ('Hello');
这四个之间有什么区别吗?另外,括号有什么区别吗?

两个区别:

print
有一个返回值(始终为1),
echo
没有。因此,
print
可以用作表达式

echo
接受多个参数。因此,您可以编写
echo$a、
而不是
echo$a$b


关于括号:在我看来,它们完全是错的。它们根本没有任何功能。你也可以写
echo(((((((($a()())((($a)))())(())41;人们通常会因为无知而加上括号,认为打印是一种功能。此外,它增加了误解的机会。例如,
print(“foo”)和&print(“bar”)
不打印
foobar
,因为PHP将其解释为
print(“foo”)和&print(“bar”)
。因此,
bar1
会被打印出来,尽管它看起来不一样。

我知道Python不是PHP,但是他们使用了
print'something'
,现在你总是要使用带括号的
print'something'
。另请看:不,这确实有区别。即使输出相同,带括号的版本看起来也不同。括号和类似函数的格式使它看起来不同。如果我不停下来想一想,至少我会被愚弄到认为它输出的是
foobar
。是的,你是对的,它输出的是相同的东西。也许我没有把我的观点解释清楚。我说的是代码的可理解性,而不是功能性。功能没有改变,这是正确的。虽然实际上有一种情况,但使用括号不仅会使代码变得不易理解,而且实际上会破坏一些东西。如果您有一个通过引用返回的函数,
返回($a)
将不起作用,因为它不会返回对
$a
的引用,而是表达式的结果,
($a)
,这显然是一个值,而不是引用。但这是离题的,因为我们谈论的是打印和回音^^^^为什么所有的“重复”答案也会导致“尽可能封闭的重复答案”?