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 相关文章推荐
网站当前的在线人数
Oct 09 PHP
PHP 数组教程 定义数组
Oct 23 PHP
php中防止伪造跨站请求的小招式
Sep 02 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
Symfony控制层深入详解
Mar 17 PHP
php自动载入类用法实例分析
Jun 24 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 PHP
php session_decode函数用法讲解
May 26 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+ajax 无刷新删除数据
2010/02/20 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
JMenuTab简单使用说明
2008/03/13 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
javascript常用的设计模式
2017/02/09 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
小程序清理本地缓存的方法
2018/08/17 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
在Python中使用判断语句和循环的教程
2015/04/25 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
python程序变成软件的实操方法
2019/06/24 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
Final类有什么特点
2012/04/25 面试题
公司总经理岗位职责
2014/03/15 职场文书
庆元旦演讲稿
2014/09/15 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年财务部工作总结
2014/11/11 职场文书
三峡导游词
2015/01/31 职场文书
详解Python requests模块
2021/06/21 Python