欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-06 22:24:45
include、include_once、require、require_once include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码 require某文件:和include不同的地方是,如果文件不存在,报错 带_once的是,朝前看,如果之前引入过该文件,那么就不引 ......

include、include_once、require、require_once

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

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

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

详情如下:

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

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

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

这样一来,看看多次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,变成如下:

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

如果include改为include_once呢?

php 文件包含 include、include_once、require、require_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的区别

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

 

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