php的require()性能与include()相类似。不同之处在于,对include()来说,在include()执行时文件每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果有包含这些指令之一的代码和 可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。 include在执行时,如果include进来的文件发生错误的话,不会立刻停止;而require则会立刻终止程序,不再往下执行。include可以用在循环;require不行。
以下取自ricky
1、require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。这个已经不适用了,因为require可以包含变量指向的文件,如:
if($a = 1){
$file = '1.php';
}else{
$file = '2.php';
}
require($file);
2、包含文件不存在或者语法错误的时候require是致命的,include不是。
3、include有返回值,而require没有(可能因为如此require的速度比include快)。
$login = include('test.php');
if(!empty($login)){
echo "文件包含成功";
}else{
echo "文件包含失败";
}
引用文件的方法有两种:require及include。两种方式提供不同的使用弹性。
require的使用方法如require("MyRequireFile.php"); 。这个函数通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include使用方法如include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
另外 include_once 和 require_once 和 include require 语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。