php require include 区别

php提供了两种包含外部文件的方法:include()和require()。include()语句是一个常规的php函数;而require() 是一种特殊的语言结构,它的使用受到一些限制。对这二者来讲,无论使用哪一个语句来包含文件,解析程序都将退出php模式并在目标文件的开头进入HTML模 式。这意味着目标文件中的全部应该做为php脚本执行的代码都必须被包含在有效的php起始标记和终止标记中。 在同一脚本中,每次出现include()函数,它都会被执行,它甚至有可能被包含在循环或条件语句中。这意味着经过使用条件判断是否包含一个文件,它还可使用循环结构包含一组文件。include()语句对文件的处理将终止。 require()语句与include()语句是不一样的,它不能受任何控制结构的控制。这说明使用require()不能有条件的包含文件。若是这个 语句出如今循环中,或者位于取值为假的条件语句中,它也都会执行,而且只执行一次。另外一个区别是,使用require()语句包含的文件不能有返回值。试 图在require()语句中返回值将会产生一个解析错误。php

=============================================================================面试

include()和require()的区别 这相信是PHP中最基本的问题了,也是不少公司面试时必考的题呵呵。 给你们复习一下: require() :若是文件不存在,会报出一个fatal error.脚本中止执行 include() : 若是文件不存在,会给出一个 warning,但脚本会继续执行 这里特别要注意的是: 使用include()文件不存在时,脚本继续执行,这种状况只出如今PHP 4.3.5以前,这一点,每每被人忽视。 推荐使用require_once()和include_once(),能够检测文件是否有重复包含。函数

=============================================================================性能

php的require()性能与include()相相似。不一样之处在于,对include()来讲,在 include()执行时文件每次都要进行读取和评估;而对于require()来讲,文件只处理一次(实际上,文件内容替换了require()语 句)。这就意味着若是有包含这些指令之一的代码和可能执行屡次的代码,则使用require()效率比较高。另外一方面,若是每次执行代码时相读取不一样的文 件,或者有经过一组文件叠代的循环,就使用include(),由于能够给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。ui

===============================================================================效率

在PHP中使用头文件,会涉及两个函数:include()和require()。这两个函数差异很小,却很重要,因此咱们要认真研究一下。 require()函数工做方式与XSSI相相似;无论在程序的哪一个部分使用了这个函数,只有程序一开始运行,头文件的内容就被做为程序自己的一部分来处 理。所以,若是您在一个条件断定语句中使用了require()函数,那么即便这个条件即便不为真,头文件也会被包含进来。 而include()函数只是在执行到这一条语句时才会把头文件内容包含进来。若是程序没运行到这里,那PHP是不会管它的。这就意味着,您在条件断定部分使用include时,它会彻底按照您但愿的那样工做。 还有,若是您用了require()函数,而您指定的头文件并不存在,那么程序将会中止运行并产生错误。若是您用了include(),程序会产生一个警告信息,可是会继续运行。require

相关文章
相关标签/搜索