网络上有大量的两个例子。 php手册说“include()语句[...]”,这似乎是矛盾的 - 如果它是一个声明不应该没有括号?是php的'include'函数还是语句?
这两项工作:
include('somefile.php');
include 'somefile.php;
这样,我或其他人照顾?
网络上有大量的两个例子。 php手册说“include()语句[...]”,这似乎是矛盾的 - 如果它是一个声明不应该没有括号?是php的'include'函数还是语句?
这两项工作:
include('somefile.php');
include 'somefile.php;
这样,我或其他人照顾?
从手动(我的重点)报价
因为包括()是一个特殊的语言构造,圆括号是而不是需要围绕它的论点。
这些也被称为“特殊形式”,包括诸如echo
和return
陈述之类的东西。请注意,虽然这些都不是功能,但仍然可以谈论表达式和语句,不同之处在于前者具有价值,而后者则不具备价值。由于include
,include_once
,require
和require_once
都返回一个值(如果包含成功,则返回TRUE
),则可以在表达式中使用它们。通过这个推理,“包含声明”将是不正确的,尽管include
几乎总是用作语句。
+1为“语言结构” – igorw 2011-02-10 10:16:45
parens中的单值会根据值本身进行评估,所以parens本身并不重要。只有一个参数
语句,可以有也插入语如:
echo ('hello world');
包括一个声明: 按照例如
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
echo 'OK';
}
// works
if ((include 'vars.php') == 'OK') {
echo 'OK';
}
+1为负的例子 – PeerBr 2014-10-10 20:08:37
两种解释。在PHP文档的许多领域中,所有内容都被称为语句。示例(来自控制结构) - “语句可以是赋值,函数调用,循环,条件语句或甚至不执行任何操作的语句(空语句)。”
语句和函数之间的区别是个别语言的语义问题。因此,PHP维护者可以明确定义它,或者让它保持不明确。
include
,require
,echo
,print
和其它关键字一小撮都是靠自己的语言结构,而不是函数调用,并且不需要括号。但是,有些人喜欢假装他们是函数调用,无论如何都使用括号。它们是相同的。
我相信唯一的区别就是你想要做的。
例如,这两个
echo 'Hello World';
echo ('Hello World');
...两个打印的Hello World。
这正是你想做的事,你觉得最舒服的,如果你像我一样,你想使你的脚本看起来很漂亮:d
的括号里的一个函数的参数。 与include
你可以使用它作为一个函数或在php语句。
因为include()是一种特殊的语言结构,所以括号不是围绕其参数所需的 。
文档浏览:http://php.net/manual/en/function.include.php
随着echo
相同的概念,从PHP手册here
回声实际上不是一个函数引用(这是一个语言结构),所以你 不要求使用圆括号。回声(与其他一些 语言结构不同)不会像函数那样工作,因此它总是不能在函数的上下文中使用。
回声总是用回声 “测试”
<?php
// this will give you error
echo ("test","test");
//that will work fine
echo "test","test";
?>
不,一个人永远要关心没有一定道理的。 – 2011-02-10 10:17:29