zoukankan      html  css  js  c++  java
  • PHP中include和require的区别

    include和require都是一个将php导入到目前php文件中的一个函数,但是两个函数有区别。

    两则的不同之处在于:

    (1)include,每次获取,都要去对文件进行获取和评估,但是require,文件只处理一次,用文件中的内容将代替了require,所以说如果每次都去读取不同的代码的来说的话,include是比较有优势的,但是如果多次读取相同的代码来说的话,require的效率会比较高。

    如果将require("1.php")放在PHP文件执行的最前面,在PHP文件执行之前,会先去将文件中的内容来代替require,而include则是需求的时候去读取。

    总结一点而言:

         include是用到时读取,

       require是用之前读取,

         _once是用到的文件如果相同,那么只获取一次

    (2)两则在运行时候,如果遇到不存在的文件。

    1 <?php
    2     //r.php         
    3     $a = 1;
    4     echo $a / 0;
    5 ?>
    1 <?php
    2 //i.php
    3     $b = 2;
    4     echo $b / 0;
    5 ?>

    准备了两个php文件,一个是r.php,另外一个是i.php

    首先验证require:

     1 <?php
     2     require "r.php";
     3     require "a.php";
     4     echo $a;
     5 ?>
     6 /*
     7 
     8 Warning: Division by zero in C:xampphtdocs	est
    .php on line 3
     9 
    10 Warning: require(a.php): failed to open stream: No such file or directory in C:xampphtdocs	estp.php on line 3
    11 
    12 Fatal error: require(): Failed opening required 'a.php' (include_path='.;C:xamppphpPEAR') in C:xampphtdocs	estp.php on line 3
    13 */

    不存在a.php所以,程序在此终止

    接着验证下include:

     1 <?php
     2     include "r.php";
     3     include "a.php";
     4     echo $a;
     5 ?>
     6 /*
     7 
     8 Warning: Division by zero in C:xampphtdocs	est
    .php on line 3
     9 
    10 Warning: include(a.php): failed to open stream: No such file or directory in C:xampphtdocs	estp.php on line 3
    11 
    12 Warning: include(): Failed opening 'a.php' for inclusion (include_path='.;C:xamppphpPEAR') in C:xampphtdocs	estp.php on line 3
    13 1
    14 */

    程序顺利运行,能够输出得到$a的结果,虽然没有能够找到对应文件

    接着我们来验证下,require是否被文件中的内容代替(是否是无条件引用)

    1 <?php
    2     if(0){
    3         require "r.php";
    4     }
    5     echo $a;
    6 ?>

    result:

    1 Notice: Undefined variable: a in C:xampphtdocs	estp.php on line 5

    没有能够发现,所以是没有引用进来,我的PHP版本是PHP/5.5.1

    学习地址:

      http://www.cnblogs.com/xia520pi/p/3697099.html

  • 相关阅读:
    C++引用小结
    C++关于const的使用以及理解
    python购物车程序的简单程序优化版
    C++文件操作
    python购物车简单小程序
    python学习DAY3(列表)
    C++重载双目运算符(2)(对象与数之间)
    C++重载双目运算符(1)(对象与对象之间)
    C++重载单目运算符
    Elasticsearch 添加数据
  • 原文地址:https://www.cnblogs.com/zafuacm/p/4279127.html
Copyright © 2011-2022 走看看