include和require的作用是相同的,唯一的不同是PHP在遇到include命令的时候必须重新解释一次。如果在同一个PHP页面中出现10此include命令,它便会重新解释10次。不过当PHP遇到require命令时,不管它在同一个PHP页面中出现多少次,PHP知会解释一次。
require的工作方式是为了让PHP程序得到更高的效率,所以它在同一个PHP页面中解释过一次后,第二次便不会再做解释,这是它的优点。不过,严格来说,这也是它唯一的缺点。,因为它不会重复解释引入的文件,所以当PHP页面中使用循环或条件语句来引入文件时,require就不会做任何的改变,当有这样的情形时,就必须使用include,命令来引入文件了。
当PHP遇到一个利用include方式引入的文件,它便会解释一次,遇到第二次时,还会重新结束一次。与require相比,include的执行效率会下降很多,而且当引入文件包含了用户紫东苑的函数时,PHP在解释的过程中会发生函数重复定义的问题。不过include也不是没有优点的,因为在PHP页面中,它会每遇到一次include就重新解释一次,所以非常适合用在循环或条件判断的语句里。
include_once与require_once的功能完全相同,,会先检查当前档案的内容是不是之前就已经导入过了,如果是的话,便不会再次重复导入相同的内容。
include与require的区别:
require包含进来的内容被当成当前文件的一部分,所以当包含近来的文件有语法错误或文件不存在的时候,当前PHP脚本就会不再执行;include函数相当于指定文件的路径,当被包含文件有错的时候,不会影响到程序本身的运行。即当遇到错误的时候,require会生成一个致命错误,并在错误发生后脚本停止执行。
include可以进行判断是否包含,而require则不管任何情况都包含进来。同时,include遇到错误的时候,会生成一个警告,但脚本还会继续执行。