php中include和require的区别

时间:2020-09-05 17:32:04 类型:PHP
字号:    


PHP include()和require()是两种包含外部文件的方法,二者的区别如下:

1:加载失败的处理方式不同:

include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)

require() :如果文件不存在,会报出一个fatal error.脚本停止执行

include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行

这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前

推荐使用require_once()和include_once(),可以检测文件是否有重复包含

2、include()是有条件包含函数,而 require()则是无条件包含函数。


3、文件引用方式不同:

include有返回值,而require没有

include()执行时需要引用的文件每次都要进行读取和评估,

require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)


可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,

若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),

require通常使用方法,这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include通常使用方法,这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化

另外关于include和require后面是否加括号的问题,

理论上来说:include和require后面加不加括号对执行结果没有区别,但是加上括号效率较低,所以后面能不加括号就不加括号。



<