PHP中include和require的区别

时间:2023-01-31 17:46:55

PHP中include和require的区别

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

如果文件不存在,include()会产生一个waring,但脚本会继续运行(仅限于PHP4.3.5之前);但是,require()会报出一个fatal Error,脚本停止运行。

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

2、PHP性能的影响:

include()执行时文件每次都要进行读取和评估;

require()在执行时,文件只处理一次(实际上是文件内容替换了require语句);

因此,如果有包含这些指令之一的指令和可能执行多次的代码,使用require效率比较高。

另一方面,如果每次执行代码时读取不同的文件,或者有一组文件迭代循环,就使用include();

3、二者方式提供不同的使用弹性:

require的使用方法,通常放在PHP文件的前面,PHP程序执行之前会先读入require所指定引入的文件,使它成为PHP程序的一部分。

include的使用方法,通常放在PHP文件流程控制的处理区域,PHP程序在读到include文件时,才将它读进来。使用这种方式,可以把程序执行时的流程简单化。

注意:require即使在条件为false时,也会被包含。而include只有条件为true时才会执行。


require_once()在脚本执行期间包括并运行指定文件。行为和require语句类似,区别是如果文件的代码已经被包括,就不会再次包括了。如果两次加载该文件,就会报错。

include_once()在脚本执行期间包括并运行指定文件。行为和include语句类似,区别是如果文件的代码已经被包括,就不会再次包括了。