今天,
当我们引用一本书时,我们发现echo有多个参数,但很少有测试,它给我们带来了奇怪的行为。
这是一个测试:
echo("one", "two");
这是另一个:
echo "one", "two";
第一个测试用例是错误,但第二个不是..为什么?
答案 0 :(得分:2)
文档为您提供答案:
echo实际上并不是一个函数(它是一种语言结构),所以你 不需要使用括号。回声(与其他一些不同 语言结构)不像一个函数,所以它不能 总是在函数的上下文中使用。 此外,如果您需要 将多个参数传递给echo,参数不能 括在括号内。
http://php.net/manual/en/function.echo.php
因此,简而言之:因为echo
不是函数 - 跳过括号。如果您只想回显一个参数,则可以使用括号,但它不是自定义参数。
<?php
echo 'Hello'; //Acceptable
echo('Hello'); //Acceptable
echo 'Hello ', 'world'; //Acceptable
echo ('Hello ', 'world'); //Not acceptable
?>