include 和 require 的区别

时间:2023-03-08 17:35:23

1. 首先不去介绍大家都知道的区别,百度上都进行了详细的说明,对于返回值的方面大家都很少提到。

include 和 require 还有一个区别就是是否具有返回值。参见手册

对include 加载文件时

include  和  require 的区别

而官方对require并没有说明有返回值。

2.主要的区别

1)require  再出现E_COMPILE_ERROR 将导致脚本终止 

include 不会,只是会有一个warning的警告。程序依然会向下执行。

2) 我记得N久之前的手册说require 采用预加载的方式不知道我是不是记错了 ,待定吧。我查查以前的手册,现在是没有看到。。。。错了原谅我。。。、

ps 翻开旧电脑找到了原来的手册上面这么写的在条件结构中

include  和  require 的区别

所以大家写到的条件中执行例子基本是错误的,会不会被打啊。。。。

include 程序执行到才加载

官方手册

对include 加载进行了说明 :当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。

3)_once后缀 用法同上。只加载一次

对大家所说和我提到的require 的预加载经测试(只适用于php 4.0.2以下)

1.php    $a = 1;

2.php

if(false){

  require('1.php');

}

echo $a;

会输出1; 我经测试发现会出现 $a 提示没有被定义的情况,也就是说明1.php里面并没有加载进来所以说现在其实没有预加载的这个。

所以说:

include 和 require 有两点 1.返回值2.遇见E_COMPILE_ERROR错误是否向下执行

这个编辑器真难用。。。。我去。。。