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 09 PHP
php中的MVC模式运用技巧
May 03 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
PHP入门学习笔记之一
Oct 12 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
PHP借助phpmailer发送邮件
May 11 PHP
php上传大文件设置方法
Apr 14 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
浅谈php的TS和NTS的区别
Mar 13 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
合作指挥官:孟斯克
2020/03/16 星际争霸
PHP cdata 处理(详细介绍)
2013/07/05 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
Python中的异常处理简明介绍
2015/04/13 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python类的动态绑定实现原理
2020/03/21 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
全球性的在线商店:Vogca
2019/05/10 全球购物
客服专员岗位职责范本
2013/11/29 职场文书
财务会计实习报告体会
2013/12/20 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
活动宣传策划方案
2014/05/23 职场文书
供用电专业求职信
2014/07/07 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
高中军训的心得体会
2014/09/01 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
python scrapy简单模拟登录的代码分析
2021/07/21 Python