Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带圆括号和不带圆括号的include和include_once之间有什么区别_Php - Fatal编程技术网

Php 带圆括号和不带圆括号的include和include_once之间有什么区别

Php 带圆括号和不带圆括号的include和include_once之间有什么区别,php,Php,我最近发现php中有更多类型的include 我的问题是以下说明之间的区别是什么: include_once 'file.txt'; include 'file.txt'; include ('file.txt'); include_once ('file.txt'); 如果没有创建file.txt,我得到的错误消息是什么?文件名周围的括号没有区别。include是一种语言构造,而不是函数,因此它不需要在参数周围加括号。所以它们是等价的,就像: echo "foo"; echo ("foo"

我最近发现php中有更多类型的include 我的问题是以下说明之间的区别是什么:

include_once 'file.txt';
include 'file.txt';

include ('file.txt');
include_once ('file.txt');

如果没有创建file.txt,我得到的错误消息是什么?

文件名周围的括号没有区别。include是一种语言构造,而不是函数,因此它不需要在参数周围加括号。所以它们是等价的,就像:

echo "foo";
echo ("foo");
所以只有两种形式:include和include_once。它们之间的区别在于,如果您尝试在同一脚本中多次包含同一文件,会发生什么情况。include将每次包含它,include_once将只在第一次执行,并忽略所有重复

如果文件执行某些操作,例如回显HTML或设置变量,则通常使用include。include_once用于定义函数和类的文件,因为如果您尝试重新定义它们,这些文件将出错

如果文件不存在,您将收到如下警告:

警告:includefile.txt:无法打开流:第4行的/path/to/your/script.php中没有此类文件或目录 警告:include:在第4行的/path/to/your/script.php中打开“file.txt”以包含include_path=':'失败

include和include_的警告相同


还有require和require_一次。它们就像include和include\u once一样,但是如果文件不存在,它不会打印警告,而是打印错误并停止脚本。

include\u once只执行它所说的操作。它只包含一次页面。如果您稍后使用include_调用它一次,它将不会包含它,因为它已经被包含。另一个将包括它被调用的次数。但是有两个提示,一个有,一个没有,区别是什么?没有区别。不管怎样,语法优先于我的理解。我只使用括号。@StemFlorin您的老师所说的是require,而不是include。@StemFlorin PHP参考手册对此进行了相当详细的介绍,你的第一站应该是问这样的问题,而不是让我们为你重复。我想知道你的教科书或php.net的文档中没有解释我的答案的哪一部分?我找不到并列比较。然后我检查了php上的手册。net,并找到了它……这有点尴尬。我很抱歉。