1. 首先不去介绍大家都知道的区别,百度上都进行了详细的说明,对于返回值的方面大家都很少提到。
include 和 require 还有一个区别就是是否具有返回值。参见手册
对include 加载文件时
而官方对require并没有说明有返回值。
2.主要的区别
1)require 再出现E_COMPILE_ERROR
将导致脚本
终止
include
不会,只是会有一个warning的警告。程序依然会
向下执行。
2) 我记得N久之前的手册说require 采用预加载的方式不知道我是不是记错了 ,待定吧。我查查以前的手册,现在是没有看到。。。。错了原谅我。。。、
ps 翻开旧电脑找到了原来的手册上面这么写的在条件结构中
所以大家写到的条件中执行例子基本是错误的,会不会被打啊。。。。
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
错误是否向下执行
这个编辑器真难用。。。。我去。。。