include和require的区别

细节决定成败!php

1.引用文件方式程序员

对include()来讲,在include()执行时文件每次都要进行读取和评估;而对于require()来讲,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着若是有包含这些指令之一的代码和可能执行屡次的代码,则使用require()效率比较高。另外一方面,若是每次执行代码时相读取不一样的文件,或者有经过一组文件叠代的循环,就使用include(),由于能够给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。函数

 

2.是否有条件引用ui

 

 

 

在PHP变成中,include()与require()的功能相同,但在用法上却有一些不一样,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,若是变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但无论$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
下面的这个有趣的例子充分说明了这两个函数之间的不一样。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中咱们能够看出这段代码但愿在每次循环时,将不一样的文件包含进来。若是要完成这个功能,必须求助函数include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}spa

 

3.报错it

 

用例子来讲话,写两个php文件,名字为test1.php  和test2.php,注意相同的目录中,不要存在一个名字是test999.php的文件。
test.php
<?PHP
include  (”test999.php”);
echo  “abc”;
?>io

test2.php
<?PHP
require (”test999.php”)
echo  “abc”;
?>function

浏览第一个文件,由于没有找到test999.php文件,咱们看到了报错信息,同时,报错信息的下边显示了abc,你看到的多是相似下边的状况:
Warning: include(test1aaa.php) [function.include]: failed to open stream: No such file or directory in D:\WebSite\test.php on line 2test

Warning: include() [function.include]: Failed opening ‘test1aaa.php’ for inclusion (include_path=’.;C:\php5\pear’) in D:\WebSite\test.php on line 2
abc效率

浏览第二个文件,由于没有找到test999.php文件,咱们看到了报错信息,可是,报错信息的下边没有显示abc,你看到的多是相似下边的状况:
Warning: require(test1aaa.php) [function.require]: failed to open stream: No such file or directory in D:\WebSite\test.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘test1aaa.php’ (include_path=’.;C:\php5\pear’) in D:\WebSite\test.php on line 2

如今就能很清楚的知道include和require的区别:include引入文件的时候,若是碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,若是碰到错误,会给出提示,并中止运行下边的代码。

相关文章
相关标签/搜索