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开发文档 会员收费1期
Aug 14 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
PHP文件缓存类实现代码
Oct 26 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
PHP asXML()函数讲解
Feb 03 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
Js中sort()方法的用法
2006/11/04 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
python多进程共享变量
2016/04/06 Python
python自定义异常实例详解
2017/07/11 Python
python实现TF-IDF算法解析
2018/01/02 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
Python 随机按键模拟2小时
2020/12/30 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
Linux上比较文件的命令都有哪些
2013/09/28 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
数控机械专业个人的自我评价
2014/01/02 职场文书
高中体育教学反思
2014/01/29 职场文书
原材料检验岗位职责
2014/03/15 职场文书
歌唱比赛主持词
2014/03/18 职场文书
党员一句话承诺大全
2014/03/28 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
八项规定对照检查材料
2014/08/31 职场文书
商品陈列协议书
2014/09/29 职场文书
自我评价优缺点范文
2015/03/11 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书