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 删除cookie和浏览器重定向
Mar 16 PHP
php foreach、while性能比较
Oct 15 PHP
PHP学习笔记之数组篇
Jun 28 PHP
php代码审计比较有意思的例子
May 07 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
PHP正则验证Email的方法
Jun 15 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 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实现模拟post请求用法实例
2015/07/11 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
Django用户身份验证完成示例代码
2020/04/03 Python
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
纽约手袋品牌:KARA
2018/03/18 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
个人应聘自我评价分享
2013/11/18 职场文书
幼儿园家长评语
2014/02/10 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
会议主持词
2014/03/17 职场文书
上班迟到检讨书
2014/09/15 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
股权投资协议书
2016/03/23 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python