手机游戏
经典单机
角色扮演
休闲益智
动作冒险
射击枪战
赛车竞速
模拟经营
解密闯关
策略战争
手机软件
时尚购物
体育运动
资讯阅读
教育学习
摄影摄像
生活服务
效率办公
聊天社交
视频盒子
其它软件
新闻资讯
游戏攻略
软件教程
游戏问答
软件资讯
软件技术
叨叨念念
网站技术
技术问答
软件教程
资源资料
原创作品
代码学习
网页设计
网络技术
合集
合集
游戏合集
软件合集
资讯合集
视频合集
首页 > 代码学习 > 代码学习

简述include、include_once、require和require_once的区别

作者:星知苑 时间:2013-04-19 09:55:13

by 2018-9-18

了解下include、include_once、require和require_once这4个函数:

include函数会将指定的文件读入并且执行里面的程序;会先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则 include 结构会发出一条警告继续运行。

 

require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。[break]

 

include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。

include_once 可以用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。

 

 

require_once 语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。

 

1、include与require的区别

include与require除了在处理引入文件的方式不同外,最大的区别就是:include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行。

<?php
  include 'no.php';
  echo '123';
?>

如果no.php文件不存在,echo '123'这句是可以继续执行的. 

你看到的可能是类似下边的情况: 

点击查看原图

<?php
require 'no.php';
echo '123';
?>

如果no.php文件不存在,echo '123'这句是不执行的,在require时就停止了。 

你看到的可能是类似下边的情况: 

点击查看原图

 

2、include与include_once的区别(require与require_once的区别)

include_once (require_once)语句在脚本执行期间包含并运行指定文件。此行为和 include (require)语句类似,区别是如果该文件中的代码已经被包含了,则不会再次包含,只会包含一次。include_once(require_once)需要查询一遍已加载的文件列表, 确认是否存在, 然后再加载。

<?php
require '1.php';
require '1.php';
?>
这种情况下1.php被包含两次。
<?php
require '1.php';
require_once '1.php';
?>

这种情况下,第二次包含时,是不会进行包含的。

 

include(require)与include_once(require_once)的抉择问题:

通常:include_once和require_once会有性能上的下降,因为他需要判断之前是否包含过。一般情况下,也不太需要去考虑,除非这已经影响到你程序的性能了。

在性能方面include和require已经差不多了,主要是看错误后处理方法。

良心推荐

交友聊天软件推荐
  • soul下载
  • 陌陌下载2021
  • 陌陌下载2021官方正版免费下载
在这个数据非常发达的时代里,衍生出了各种各样的在线交友软件,为现代年轻人提供了一个更好的社交平台,很多人也渴望找到一个成功率更高,美女更多的交友APP,小编今天推荐的这几款软件,就非常你的需求,你可以随时进行附近人查看,找到更多的异性知己。

相关资讯