为了账号安全,请及时绑定邮箱和手机立即绑定

PHP include和require区别?

PHP include和require区别?

MYYA 2019-02-08 07:03:19
他们最主要的区别是对错误的处理方式,这一点我知道,也做了测试但是还有一点,有的文章中提到, require相当于预处理,即它是在程序运行之前就被执行的。所以它是不可以用在控制语句中的,如if中。但是我做了如下测试for($i=1;$i<=5;$i++)if($i==1 || $i==3)require("b.php");elserequire("c.php");其中b.php文件中就是一串"bbbbbb",c.php就是一串"ccccccc"最后输出结果如下显然require也是在程序运行过程中按if判断正确载入的呀那么是不是说,include和require,除了对错误处理的方式不同,就没有其他区别了??
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

PHP的include()和require()是两种包含外部文件的方法,二者的区别如下:
1:加载失败的处理方式不同:
include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)
require() :如果文件不存在,会报出一个fatal error.脚本停止执行
include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行
这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前
推荐使用require_once()和include_once(),可以检测文件是否有重复包含。
2.php性能不同
对include()来说,在 include()执行时文件每次都要进行读取和评估;
而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。
这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。
另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),
因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。
3.二种方式提供不同的使用弹性
require 的使用方法如 require("./inc.php"); 。通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。
include 使用方法如 include("./inc/.php"); 。一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
require即使在条件位FALSE的时候也会被包含,而include只会在执行到改位置时候才会去执行。
require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。require_once()函数的作用和 require() 是几乎相同的
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。include_once()函数的作用和 include() 是几乎相同的
require_once的作用是会检查之前是否加载过该文件,如果没有加载则加载 如果加载过就不再次加载,比如某文件定义了一个类型 如果两次加载该文件会出现错误。



查看完整回答
反对 回复 2019-03-14
?
长风秋雁

TA贡献1757条经验 获得超7个赞

二种方式提供不同的使用弹性。
require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。

查看完整回答
反对 回复 2019-03-14
  • 3 回答
  • 0 关注
  • 643 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信