二者报错机制不同,include是warning 继续执行程序,require会报致命错误,中断程序运行。
前者有返回值,后者则没有。
注意了,php5里有一个区别没了,之前说的是require是无条件包含的,也就是 不论条件是否成立,都会包含这个文件。我也是今天无意间测试发现。其实已经没有这样的区别了
不信大家可以试试下面的代码:a.php 文件里 代码
<?php $a='1'; if($a){ require('b.php'); }else{ require('c.php'); } ?>
b.php文件代码
<?php echo "b文件"; ?>
c.php文件代码
<?php echo "c文件"; ?>
访问a.php结果
//b文件
可以看到 require 和include 一样 也是有条件包含了。