Php 为什么回声行为不同?

Php 为什么回声行为不同?,php,testing,echo,Php,Testing,Echo,今天, 当我们参考一本书时,我们发现echo有多个参数,但通过很少的测试,它给了我们奇怪的行为 下面是一个测试: echo("one", "two"); 还有一个: echo "one", "two"; 第一个测试用例给出了错误,但第二个没有。为什么?文档给出了答案: echo实际上不是一个函数(它是一种语言构造),因此 不需要使用括号。回声(与其他声音不同) 语言构造)的行为不像函数,因此它不能 始终在函数的上下文中使用另外,如果您愿意 要将多个参数传递给echo,参数不得为 用括号括起来

今天,

当我们参考一本书时,我们发现echo有多个参数,但通过很少的测试,它给了我们奇怪的行为

下面是一个测试:

echo("one", "two");
还有一个:

echo "one", "two";

第一个测试用例给出了错误,但第二个没有。为什么?

文档给出了答案:

echo实际上不是一个函数(它是一种语言构造),因此 不需要使用括号。回声(与其他声音不同) 语言构造)的行为不像函数,因此它不能 始终在函数的上下文中使用另外,如果您愿意 要将多个参数传递给echo,参数不得为 用括号括起来。

因此,简而言之:因为
echo
不是一个函数-跳过括号。如果只想回显一个参数,可以使用括号,但习惯上不这样做

<?php
    echo 'Hello'; //Acceptable
    echo('Hello'); //Acceptable
    echo 'Hello ', 'world'; //Acceptable
    echo ('Hello ', 'world'); //Not acceptable
?>


为什么?->阅读手册:*此外,如果要将多个参数传递给echo,则参数不得包含在括号内*回声不是一种功能;它是一种可以接受一个或多个参数的语言构造。。。。。但是如果你有错误,告诉我们错误是什么!!!我猜您还没有读过:
。此外,如果您想将多个参数传递给echo,那么这些参数必须不包含在括号内。
(我的重点)谢谢。所以我忽略了语言结构。我将对此进行更多的研究。。