php中require和include之间的区别[关闭]

Posted

技术标签:

【中文标题】php中require和include之间的区别[关闭]【英文标题】:Difference between require and include in php [closed] 【发布时间】:2015-02-03 06:14:47 【问题描述】:

今天我有一个面试,面试官问我一个问题,php中require和include之间的区别是什么? 我回答他,因为 require 和 include 之间的区别是,如果您需要一个无法加载的文件,那么它会给出致命错误并且脚本将不会执行,而另一方面,如果您包含一个无法加载的文件,它只会给出警告并继续执行脚本。

他回答:这两者之间的基本区别是什么,而不是警告和致命错误?我无法在那里证明我的回答。

当我回来时,我用谷歌搜索了它,但除了这个,我什么也没找到。有谁知道他到底想问我什么或听我说什么?还是有其他区别?

【问题讨论】:

这听起来像你的面试官通过询问你“而不是”警告和致命错误来误导你 - 因为这些是the only differences in the two functions. 如果他问除了什么区别之外,也许你会准确回复了。 ***.com/questions/3633900/… 【参考方案1】:

1) 如果我们用这个方法添加一个文件并且它在给定的路径中不存在,就会发生致命错误。 *并且脚本将停止工作*

2) 如果我们用这个方法添加一个文件并且它在给定的路径中不存在,就会出现一个警告。 *而且脚本不会停止工作*

PHP 中有不同类型的错误。

但是对于Parse ErrorFatal Error,脚本会停止工作。

使用Parse Error(语法错误,例如缺少;),脚本根本不会运行。

使用Fatal Error,(例如,使用require 包含不存在的文件,脚本将执行到该行,但不会在那之后。)

否则,它们只会显示错误。

【讨论】:

这正是我对他的回答,但他说基本区别是什么?我不明白他想从我这里听什么? @DDay 我会要求换一个面试官——或者干脆拒绝这份工作。【参考方案2】:

require() 函数与include() 相同,只是它处理错误的方式不同。如果发生错误,include() 函数会生成警告,但脚本会继续执行。 require() 生成致命错误,脚本将停止执行。

警告是表示“您做错了事,以后很可能会出错,所以请修复它。”的消息。

【讨论】:

【参考方案3】:

require 会产生一个致命错误(E_COMPILE_ERROR)并停止脚本

include 只会产生警告 (E_WARNING) 并且脚本会继续运行

更多详情请查看此链接

Difference between “include” and “require” in php

PHP File Inclusion

【讨论】:

【参考方案4】:

您的回答是 100% 正确的。根据 w3schools:

include 和 require 语句是相同的,除非失败:

require 将产生致命错误 (E_COMPILE_ERROR) 并停止脚本 include 只会产生警告 (E_WARNING),脚本将继续运行

【讨论】:

以上是关于php中require和include之间的区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP中引入文件的方式和他们之间的区别

require、include、require_once 和 include_once 之间的区别?

require、include、require_once 和 include_once 之间的区别?

PHP中include和require的区别详解

谈谈PHP中require和include的区别

PHP中include和require的区别详解