因为echo不是函数,所以在调用它时我们不使用括号。
示例:
echo "hello";
而不是
echo ("hello");
如果它是一个函数,它将被强制称为echo ("hello");
在ASP / Vbscript中,我可以通过以下方式之一调用函数;
call dosomething("x","y","z")
dosomething "x","y","z" notice the missing parathesis
我在PHP中看到的这种无括号语法最接近的是echo。我喜欢跳过括号的能力。
我的问题是,如果有一种方法可以在PHP中编写函数,那么不需要使用括号?
答案 0 :(得分:7)
从PHP内部? 否强>
您需要修改Zend Engine中的C代码。这当然是不可取的,因为您需要使用自定义构建来运行代码。它也会让其他程序员不必要地混淆。您不应仅仅因为喜欢跳过令牌而尝试更改核心语言功能。
括号对于表示函数调用很重要。
echo
,include
等内容称为语言构造。它们在语言中的实现方式类似于普通的一元运算符,如new
,++
等。
另请注意,语言结构并未严格省略括号。以unset()
为例。
答案 1 :(得分:2)
没有。 “Echo”不是php中的函数,而是一种语言结构,这就是为什么你可以在没有parens的情况下使用它。 “包含”或“要求”也是如此,您可以使用或不使用parens。
答案 2 :(得分:0)
echo()实际上并不是一个函数(它是一种语言结构),所以你不需要在它上面使用括号。
有关回声的更多信息,请访问:http://php.net/manual/en/function.echo.php