php 中include()与require()的对比


Posted in PHP onOctober 09, 2006

php的require()与include(),在性能方面并无大的不同。

仅有的一些不同在于:

include()执行时文件每次都要进行读取和评估;
require()执行时文件只处理一次(实际上,文件内容替换了require()语句)。
即如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。

另外,如果每次执行代码时要读取不同的文件,或有通过一组文件叠代的循环,就应该使用include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。

php的require()性能与include()虽然有相似的地方,但是通过自己的学习和查找,还是找到了6点区别如下。

1、
不同之处在于,对include()来说,在include()执行时文件每次都要进行读取和评估;
而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。
这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。

2、
require是只执行一次的,不,这么说不恰当。应当说,require是先替代,将指定文件的内容代进来,再运行,所以它不知道你是否设置了FOR循环。而include语句,

是什么时候执行到了,什么把指定文件的内容代进来,继续执行。
所以,如果每次执行代码时想读取不同的文件,或者有通过一组文件叠代的循环,就使用 include(),因为可以给想要包括的文件名设置一个变量,当参数为include()

时使用这个变量。

3、
include在执行时,如果 include 进来的文件发生错误的话,不会立刻停止;而 require 则会立刻终止程序,不再往下执行。

4、include可以用在循环; require不行。

5、include有返回值,而require没有(可能因为如此require的速度比include快)

ok.php里的代码为 echo "ok!";

$login = include('ok.php');
if(!empty($login)){ echo "文件包含成功";
}else{ echo "文件包含失败"; }

最后返回结果为:ok!文件包含成功

只要ok.php里有语句存在,就会返回成功。

在举一个例子:

1.php里的代码如下:
<?php
return array(
'ILOVEYOU'=>1,2,3,4
);
?>

index.php里的代码如下:
<?php
$a = array_change_key_case(include '1.php');

print_r($a);
?>

访问index.php的结果如下:
Array ( [iloveyou] => 1 [0] => 2 [1] => 3 [2] => 4 )

6、require的使用方法:这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常

用的函数,亦可以这个方法将它引入网页中。
include使用方法:这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化

PHP 相关文章推荐
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
php防止sql注入简单分析
Mar 18 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
Mar 23 PHP
php生成WAP页面
Oct 09 #PHP
让你同时上传 1000 个文件 (一)
Oct 09 #PHP
让你同时上传 1000 个文件 (二)
Oct 09 #PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 #PHP
利用static实现表格的颜色隔行显示
Oct 09 #PHP
PHP 和 XML: 使用expat函数(三)
Oct 09 #PHP
PHP 和 XML: 使用expat函数(二)
Oct 09 #PHP
You might like
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
js中有关IE版本检测
2012/01/04 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
简单了解python PEP的一些知识
2019/07/13 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python和go语言的区别是什么
2020/07/20 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
财务工作者先进事迹材料
2014/01/17 职场文书
个人近期表现材料
2014/02/11 职场文书
售后求职信范文
2014/03/15 职场文书
三八活动策划方案
2014/08/17 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
责任书范本大全
2015/05/11 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android