1.性能上,没有差别
2.require 不管require语句有没有执行,程序执行包含文件都被加入进来 include只有执行的时候文件才会被包含
3.循环体: require()不能在循环体中根据条件的不同而包含不同的文件。require()语句只会在第一次执行时调用它所包含的文件中的内容替换本身这条语 句,当再次被执行时只能执行第一次所包含的语句。但是include()语句可以在循环体中来包含不同的文件。
Php代码 $files=array('first.php','second.php','third.php'); for($i=0;$i
补充 require 文件在程序执行过程中只能被包含一次,而include每次执行,文件都重新被包含,选择include的话,
保证包含文件多次包含不会出错,举例:
conn.php: $conn = mysql_connect(’localhost’,’’,’’); mysql_select_db(’php’); function fun($a) { include("conn.php"); //数据库处理语句 } //….. fun("aaa");//第一次调用 //….. fun("bbb");//第二次调用 conn.php: $conn = mysql_connect(’localhost’,’’,’’); mysql_select_db(’php’); function fun($a) { include("conn.php"); //数据库处理语句 } //….. fun("aaa"); //第一次调用 //….. fun("bbb");//第二次调用
在第二次调用的时候会出错,但是把 include 换成 require 就不会出问题。
因为 require 文件只在读到该页面的时候调用一次,而 include 在每次调用含有 fun 的地方都调用,所以就出现了数据库连接还没关闭就再次连接的错误。
因此在循环中只要调用一次的用 require ,其他地方这两个都可以用。 (该程序也并未报错)
4.报警:如果被包含的文件不存在,require:程序终止 include:报警,继续执行 (正确)
5.require include 比 file_get_content慢