苏南大叔填坑:详谈php中require和include的主要区别及测试环境为win10、php@5.6

最近苏南大叔撰写了 node 环境下的 require 与 import 的区别。随后,他突然想起很多年前曾在一篇文章里埋下了一个坑,即 php 的经典面试题:require 和 include 有什么区别。那么,在本文中,苏南大叔将填补这个坑,讲讲在 php 中,include 和 require 的最大区别。

苏南大叔填坑:详谈php中require和include的主要区别及测试环境为win10、php@5.6

在 php 代码里,使用 include 和 require 存在哪些区别呢?(如 4-1 图所示)

大家好,这里是苏南大叔的“程序如此灵动”博客。这里会讲述苏南大叔与计算机代码之间的故事。本文主要讲述在 php 中,使用 include 语句和 require 语句时,具体存在哪些不同之处。本文的测试环境为:win10 以及 php@5.6。

区别之处

在实际 php 应用中,经过不断的经验总结后发现,include 和 require 几乎没有区别,它们都是用于引入某个文件的。经过不断测试得知,两者的区别在于:若被引用的文件不存在,就会有较大差异。

当被引用的文件不存在的时候,

现在假设不存在404.php这个文件。

include不存在的文件warning

在 php 代码里,include 和 require 这两者在使用上有哪些差别呢?(如 4-2 所示)

测试代码demo_include.php如下:

include ("404.php");
echo "continue";

测试结果:

警告:在 demo_include.php 的第 4 行,include(404.php) [函数.include]:无法打开流:没有这样的文件或目录。
警告:在 demo_include.php 的第 4 行,include()函数[function.include]无法打开“404.php”进行包含(include_path='.;C:\php5\pear')。
continue

require不存在的文件fatalerror

在 php 代码里,使用 include 和 require 这两者存在怎样的区别呢?(图 4-3)

demo_require.php

require ("404.php");
echo "continue";

测试结果:

警告:在 demo_require.php 的第 4 行,require(404.php) [函数.require]:无法打开流:没有这样的文件或目录。
致命错误:require()函数[function.require]:在 demo_require.php 的第 4 行,无法打开所需的“404.php”(包含路径为“.;C:\php5\pear”)。

网传的不一致

循环中表现一致,下述代码测试,两者表现一致。

//require
$i = 1;
while ($i < 3) {
    require "./a$i.php";
    $i++;
}
//include
$i = 1;
while ($i < 3) {
    include "./a$i.php";
    $i++;
}

处理被包含文件的内部错误时,表现一致。

当被包含文件 404.php 里面调用了一个不存在的函数 test()时,就会致使 fatalerror 程序停止执行。

在 php 代码里,include 和 require 存在哪些区别呢?(如图 4 - 4 所示)

参考文献总结

在 php 里,include 与 require 的区别是:当被引用的文件不存在时,二者的态度有所不同。include 会接受这种情况并给出警告(warning),而 require 则完全不能接受,会产生致命错误(fatal error)。

苏南大叔的理解仅限于此。倘若您持有不同的观点,欢迎您留下言论。关于更多 php 相关的经验文章:

【源码】本文代码片段及相关软件,请点此获取更多信息

【绝密】秘籍文章入口,仅传授于有缘之人

php

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

45阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读