include 和require的区别

社会主义新天地 提交于 2020-03-01 04:57:58
include和require的区别

以前在写程序的时候想过这个问题,今天刚好看到关于此方面的问题,所以就整理,总结下来!

这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行

include 包括 没有也可以

require 需要 一定要有

include 出错时返回一个错误但继续执行

require 出错时产生一个致命错误,结束运行

 

---------------------------------------------------------------------------------

  • require() :如果文件不存在,会报出一个fatal error.脚本停止执行
  • include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行


这里特别要注意的是:
使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前,这一点,往往被人忽视。

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

--------------------------------------------------------------------------------------

还有一个区别,这样来描述:
只要有require,总会包含指定的文件;
如果程序没有执行到include,指定的文件不会被包含,比如if条件不成立,在if语句里用include

(以下是这一区别的详细介绍)

注: 在 PHP 4.0.2 之前适用以下规则:require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!