老问题:require 和 include
搜索了一番,发现全都说这二个的区别是:
1,在引用不存在文件的时候require是报错误,脚本停止运行,include只是报警告,程序继续运行。
2,require是非条件引用,include是条件引用,即如果写在if或for里,无论是否会执行require,都会无条件地引用,而include只有运行include才引用文件。
关于第一点,测试是这样的。
但第二点!无论我怎么测试,二者结果完全一样,都感觉是非条件引用,是不是与PHP版本有关,我的是php 5.0.51b。
大家可以去测试测试,如:
if(false){
require 'notexist.php';//不存在的文件
require 'error.php';//有PHP语法错误的文件
require 'fn.php';//fn.php 里有个函数fn()
}
echo fn();
//运行结果是只报fn不存在的错误,不会报notexist.php文件不存在和error.php文件有语法错的错误,说明if里的二个文件根本没有引用。
或者是我理解require的非条件引用有误?那请提供一代能说明非条件引用的代码。