话不多说,直接上干货:
区别一:
include()遇到包含文件不存在,或是出错的时候,不停止运行,并报错。require()遇到包含文件不存在,或是出错的时候,就停止运行,并报错。
举例:
1 |
|
结果:

区别二:(查资料有这样的描述,但是测试未成功,故可以忽略)
require()无论如何都会包含文件。include()可以有选择地包含。
测试:
1 | <!-- B.php --> |
结果:

测试:
1 |
|
结果:

区别三:
include_once() 和require_once()语句均在脚本执行期间包含并运行指定文件。此行为分别与include() require() 语句类似,
唯一区别是include_once() 和require_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。
include_once() 和require_once() 应该用于嵌套包含的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。
注意:随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用include_once() 和require_once()就可以解决这些问题。
区别四:
include_once(),require_once(),与include(),require()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。
本文早期发布于个人 CSDN 博客:查看原文