php中的require(),php中require()和include()的区别

PHP提供了两种包含外部文件的方法:include()和require()。

require()和include()都属于服务器端引用(Server Side Includes)中的常用方法。它们有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。

出错处理方式

两者的第一个区别是,对于包含的文件不存在的时候是如何处理的

require包含文件的时候是绝对的包含,如果被包含的文件不存在那么会产生一个致命错误(fatal error),在错误发生后下面的脚本程序将不会执行。

include包含文件的时候是相对的包含,如果被包含文件不存在,那么会产生一个warning警告,但是下面的脚本程序会继续执行。

条件引用方式

在PHP中,include()是有条件包含函数,而require()则是无条件包含函数。

例如在下面的例子中,使用include的时候,如果变量$somgthing为真,则将包含文件somefile:

if($something){  include("somefile");  }

但不管$something取何值,使用require的时候,下面的代码都将把文件somefile包含进文件里:

if($something){  require("somefile"); }

下面的这个有趣的例子充分说明了这两个函数之间的不同。

$i = 1; while ($i < 3) {  require("somefile.$i");  $i++; }

在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():

$i = 1; while ($i < 3) { include("somefile.$i"); $i++; }

require()语句与include()语句是不同的,它不能受任何控制结构的控制。这说明使用require()不能有条件的包含文件。如果这个 语句出现在循环中,或者位于取值为假的条件语句中,它也都会执行,并且只执行一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值