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 Error
和Fatal 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之间的区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
require、include、require_once 和 include_once 之间的区别?