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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php查看session内容的函数
Aug 27 PHP
php与paypal整合方法
Nov 28 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php比较两个字符串长度的方法
Jul 13 PHP
分享php多功能图片处理类
May 15 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
PHP自定义错误用法示例
Sep 28 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
PHP耦合设计模式实例分析
Aug 08 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调用数据库的存贮过程
2006/10/09 PHP
基于mysql的bbs设计(二)
2006/10/09 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python fileinput模块使用实例
2015/06/03 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
Python错误的处理方法
2020/06/23 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
商场活动策划方案
2014/01/24 职场文书
住宅使用说明书
2014/05/09 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
敬老院活动感想
2015/08/07 职场文书
实习感想范文
2015/08/10 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS