php echo不需要括号
问题描述:
因为echo不是函数,所以在调用它时不使用括号。php 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中编写函数,那么不需要使用括号?
答
从PHP内部? 否。
您需要修改Zend引擎中的C代码。这当然是不可取的,因为您需要使用自定义构建来运行代码。这也会让其他程序员不知所措。您不应该仅仅因为您喜欢跳过令牌的能力而尝试更改核心语言功能。
括号对于表示函数调用很重要。
诸如echo
,include
等之类的东西被称为语言结构。它们在语言中的实现方式类似于普通的一元运算符,如new
,++
等。
还要注意,语言结构不会严格忽略括号。以unset()
为例。
答
echo()实际上并不是一个函数(它是一种语言结构),因此您不需要使用括号。 如果您需要更多关于回声去[1] http://php.net/manual/en/function.echo.php
答
没有。 “回声”不是PHP中的函数,而是一种语言结构,这就是为什么你可以使用它,而不需要parens。 “包含”或“要求”也是如此,您可以使用它们,不管是否包含parens。
'echo'不是一个函数,而是一个“语言结构”(http://php.net/manual/en/function.echo.php),这就是为什么你可以使用没有括号。看看这个答案:http://stackoverflow.com/questions/1180184/what-is-the-difference-between-a-language-construct-and-a-built-in-function-in – Yaniro 2012-03-17 09:03:26