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

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

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

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

【问题讨论】:

标签: php


【解决方案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),脚本将继续运行

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-25
        • 2011-04-07
        • 2013-01-26
        • 1970-01-01
        相关资源
        最近更新 更多