php 文件包含 include、include_once、require、require_once

include、include_once、require、require_once

include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码

require某文件:和include不同的地方是,如果文件不存在,报错

带_once的是,朝前看,如果之前引入过该文件,那么就不引入了!带_once的效率低点。

详情如下:

---------------------------------------

include某文件,就等于把该文件中代码粘贴过来,替换掉include这句话

这样一来,看看多次include一个文件会是什么效果

a1.php代码改为如下;

<?php
//我是a1.php
$a1++;
?>

index.php 代码如下:

1 <?php
2     ini_set("error_reporting","E_ALL & ~E_NOTICE");
3     header("Content-type:text/html;charset=UTF-8");
4     $a1= 1;
5     include('a1.php');
6     echo $a1;
7 ?>

引入一次include(上面第5行代码),$a1变为2,修改上面的代码,再加上两次include,变成如下:

如果include改为include_once呢?

include_once就是看前面的代码中(注意:不会朝后看),该文件有没有被include过或include_once过,有,那就不引入过来了,没有,那就引入过来。而include就是,甭管那么多,引过来!

所以,include效率高点!

 1 <?php
 2     ini_set("error_reporting","E_ALL & ~E_NOTICE");
 3     header("Content-type:text/html;charset=UTF-8");
 4     $a1= 1;
 5     echo $a1; //1
 6     include('a1.php'); //引过来所以$a1+1
 7     echo $a1; //2
 8     include_once('a1.php'); //发现前面执行了include a1.php这个文件,不引入了。所以$a1还是2
 9     echo $a1; //2
10     include('a1.php');//继续引过来,所以$a1+1为3
11     echo $a1;//3
12 ?>

再比如,include_once不是朝后看

 1 <?php
 2     ini_set("error_reporting","E_ALL & ~E_NOTICE");
 3     header("Content-type:text/html;charset=UTF-8");
 4     $a1= 1;
 5     echo $a1; //1
 6     include_once('a1.php');
 7     //朝前看,没有include或include_once过a1.php,所以,引过来 $a1变为2
 8     echo $a1; //2
 9     include('a1.php');//继续引过来,所以$a1+1为3
10     echo $a1;//3
11 ?>

include和require的区别

猜你喜欢

转载自www.cnblogs.com/html55/p/10799118.html
今日推荐