0

0

php中include()函数与require()函数有何区别?

不言

不言

发布时间:2018-08-07 10:55:45

|

3472人浏览过

|

来源于php中文网

原创

本篇文章给大家带来的内容是关于php中include()函数与require()函数有何区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

网上太多关于php中include与require区别。其实说的都是经不起验证的。随意找了一个截图如下:


还信誓旦旦的解释:include()是有条件包含函数,而require()则是无条件包含函数。

但是这是很久之前的事了,现在的php,require与include确实有区别,笔者测试的是5.3以上版本测试结果如下:

发现这两种结构除了在性能和在如何处理包含失败之外,其他完全一样。

立即学习PHP免费学习笔记(深入)”;

1、在性能方面

测试发现当require与include在性能方面差别不大,觉得这方面可以不用考虑(可能是我测试的样例不够多吧)

$startTime=time();
$startMemoryUsed=memory_get_usage();  
require "a1.inc";
$endMemoryUsed=memory_get_usage();
$endTime=time();
$usedMemory=($endMemoryUsed-$startMemoryUsed)/1024; 
print_r($usedMemory);//1.6171875
echo '
'; print_r($endTime-$startTime); /*$startTime=time(); $startMemoryUsed=memory_get_usage(); include "a1.inc"; $endMemoryUsed=memory_get_usage(); $endTime=time(); $usedMemory=($endMemoryUsed-$startMemoryUsed)/1024; print_r($usedMemory);//1.6171875 print_r($endTime-$startTime);*/

2、在包含错误处理方面

   在包含失败 时,include()产生一个警告并继续执行,而require()则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用 require(),否则就用include()。

include "a9.inc";//a9.inc不存在会产生一个警告
require "a10.inc";//a10.inc不存在会产生一个致命错误

补充:include,require包含作用域

文件a2.inc

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

下载

$name="lidquan";
class Teacher{
    public function show(){
        echo 'my job is teacher
'; } } function showName(){ echo 'a2.inc 里面的方法'; }

文件 index.php

function a(){
    require "a2.inc";
    $teacher =new Teacher();
    $teacher->show();
}
 
a();//正常调用
 
showName();//正常调用
 
var_dump($name);//提示$name没有定义

结果截图如下:

关于包含文件后作用域问题总结如下:

1、所有在被包含文件中定义的函数和类在被包含后,在包含文件里都具有全局作用域

2、被包含文件的变量的作用域,随着包含位置的变化而变化。比如如果是在函数中包含,被包含文件的变量是局部变量

相关文章推荐:

php如何使用curl方法请求Java接口?php用curl方法请求Java接口的两种方法

PHP中如何将session存入数据库并使用(附代码)

ThinkPHP框架中组装分页字符串的代码实现

相关专题

更多
微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

2

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

74

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

133

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

106

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 12.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

NumPy 教程
NumPy 教程

共44课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号