是php';s';包括';函数还是语句?
在网络上有很多这两方面的例子。php手册上说“include()语句[…]”,这似乎是矛盾的——如果它是一个语句,它不应该有括号吗 这两项工作:是php';s';包括';函数还是语句?,php,include,Php,Include,在网络上有很多这两方面的例子。php手册上说“include()语句[…]”,这似乎是矛盾的——如果它是一个语句,它不应该有括号吗 这两项工作: include('somefile.php'); include 'somefile.php; 因此,我或其他任何人是否应该关心?参数中的单个值计算为值本身,因此参数本身并不重要。只有一个参数的语句也可以有括号,例如: echo ('hello world'); 引用手册(我的重点) 因为include()是一种特殊的语言构造,所以在其参数周围不
include('somefile.php');
include 'somefile.php;
因此,我或其他任何人是否应该关心?参数中的单个值计算为值本身,因此参数本身并不重要。只有一个参数的语句也可以有括号,例如:
echo ('hello world');
引用手册(我的重点)
因为include()是一种特殊的语言构造,所以在其参数周围不需要括号
这些也被称为“特殊形式”,包括echo
和return
语句。请注意,虽然这些都不是函数,但您仍然可以谈论表达式和语句,区别在于前者有值,而后者没有值。由于include
、include_once
、require
和require_once
都返回一个值(TRUE
,如果include成功),它们可以在表达式中使用。根据这种推理,“include语句”将是不正确的,尽管include
s几乎总是用作语句。include是一种语句:
按例解释
// 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';
}
两者都有。在PHP文档的许多领域中,所有内容都被称为语句。示例(来自控制结构)-“语句可以是赋值、函数调用、循环、条件语句,甚至是不执行任何操作的语句(空语句)。”
语句和函数之间的区别在于不同语言的语义。因此,PHP维护人员要么明确定义它,要么让它保持模棱两可。
包括
、要求
、回音
、打印
,还有一些其他关键字本身就是语言构造,而不是函数调用,不需要括号。然而,有些人喜欢假装自己是函数调用,并使用括号。它们是一样的。我相信唯一的区别是你想做什么
比如说这两个,
echo 'Hello World';
echo ('Hello World');
…都打印了Hello World
这正是你想做的,你觉得最舒服的,如果你像我一样,你想让你的脚本看起来漂亮:D括号是函数的参数。 使用
include
可以将其用作php中的函数或语句
因为include()是一种特殊的语言构造,所以括号不是
需要围绕它的论点
此处的文档:
使用echo
相同的概念,引用PHP手册
echo实际上不是一个函数(它是一种语言构造),因此
不需要使用括号。回声(与其他声音不同)
语言构造)的行为不像函数,因此它不能
始终在函数的上下文中使用
对于echo,始终使用echo“测试”
note,没有一定的理由就不应该在意。这确实不是一个负面的例子,因为在include
周围加括号并不妨碍在参数周围加括号if((include('vars.php')=='OK'){echo'OK';}
。如果它们不是函数,它们如何才能“返回”某物?@Marc.2377,就像php中的大多数表达式可以返回某物一样(例如,表达式1+2
将返回一个值3
,并且可以分配给变量$x=1+2
);返回值不限于函数感谢澄清。我希望手册能像这个答案那样技术性和完整。
<?php
// this will give you error
echo ("test","test");
//that will work fine
echo "test","test";
?>