require 和 include 都是文件引入的常用用法。那他们有什么区别吗?

首先我们创建一个需要引入的文件叫做test.php,里面写上简单的一行代码:

echo "我是要被引入的文件";

再创建一个php文件,用include引入上面的test.php:

include 'test.php';

echo  "引入完成";

输出结果为:我是要被引入的文件引入完成。说明用include引入成功。

再来看一下用require引入的效果:

require "test.php";

echo  "引入完成";

输出结果为:我是要被引入的文件引入完成。说明用require引入成功。

两种引入方式在引用成功的情况下无任何区别,那么我们分别用两种不同方式引入一个不存在的文件呢?

//tests.php 是一个不存在的文件
include "tests.php"; echo "引入完成";

输出结果为:

可以发现,用include引入不存在的文件会出现warning警告错误,代码也会继续往下执行输出结果。

//tests.php是一个不存在的文件
require "tests.php"; echo "引入完成";

输出结果为:

用require引入不存在的文件后,系统报出了一个致命错误,代码也会停止向下执行。

以上,我们可以得出结论:

相同点:include和require 都能把另外一个文件包含到当前文件中。  不同点:使用include时,当包含的文件不存在时,系统会报出警告级别的错误,程序会继续往下执行。   使用require包含文件时,当包含的文件不存在时,系统会先报出警告级别的错误,接着又报一个致命级别的错误。程序将终止执行。

引入文件还有两个require_once 和 include_once 他们又有什么不同呢?

我们用require 和 require_once做个简单演示:

require_once "test.php";
require_once "test.php";
require_once "test.php";
require_once "test.php"; echo "引入完成";

还是引入正确的文件,多次引入,如果用require_once输出的结果是:我是要被引入的文件引入完成,可以看到引入多个相同的路径只出现一次结果。

require "test.php";
require "test.php";
require "test.php";
require "test.php"; echo "引入完成";

用require多次引入相同的路径,输出结果是:我是要被引入的文件我是要被引入的文件我是要被引入的文件我是要被引入的文件引入完成,可以看到引入多个相同的路径都执行了。

所以它们的区别就是:require 和 include 如果有相同的路径,都执行,require_once 和 include_once 如果有相同的路径只会执行一次

2019-07-24 require 和 include的区别的更多相关文章

  1. require和include的区别及自动加载的定义

    //引入文件//require与include的区别://include主要是指引入,如果引入的文件出现错误,则程序停止运行//require主要是指请求,如果请求的文件出现错误,则程序不受影响,继续 ...

  2. php中require与include的区别

    描述:require, include三者都是引入文件,其中require_once,include_once只引入一次,即之前引入过的就不再引入. include与require的区别: 加载失败的 ...

  3. require和include的区别

    require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...

  4. PHP中require和include的区别

    include()与require()的功能相同 include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区 ...

  5. PHP require和include的区别

    require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误. 以下为补充:1. include有 ...

  6. 【十九】require和include的区别

    1.require是一个函数,include是一个关键字 2.require是无返回值,include有返回值 3.include()会产生一个警告,而require()则导致一个致命的错误(出现错误 ...

  7. require 与 include 的区别

    require 的英文意思是 需要,有赖于.如果使用了这条语句,也就是告诉PHP内核,我这个程序需要这个文件,有赖于这个文件.或者通俗点儿讲就是:我要她!所以,PHP如果发现require参数中的文件 ...

  8. include,include_once,require,require_once的区别

    1.include,require在其被调用的位置处包含一个文件. 2.include_once,require_once函数的作用与include相同,不过它会首先验证是否已包含该文件.如果已经包含 ...

  9. 关于require,require_once,include和include_once的区别

    一.定义 require,require_once,include,include_once都属于PHP的关键字,也就是说它们实际都是PHP的语句,而不是函数,类似于print,echo一样,也是PH ...

随机推荐

  1. 1045-Access denied for user 'root'@'localhost'解决方法

    1.出现这个问题的原因之一是权限的问题,也就是说你的电脑可能没有权限访问mysql数据库. 讲道理这种情况其实基本上不该遇到,因为我们在安装mysql之后,root其实是有最高权限的,而且很少会有人去 ...

  2. rabbitmq在linux下单节点部署和基本使用

    RabbitMQ是基于erlang开发的消息服务,官网为:https://www.rabbitmq.com,RabbitMQ要依赖erlang运行,所以要先安装erlang环境,rabbitmq可以用 ...

  3. 字符串反转(java和js)

    写在前面 关于字符串反转的奇技淫巧很多, 会一种就行了, 但是解锁更多姿势可谓艺多不压身啊~~ 正文 java https://www.cnblogs.com/binye-typing/p/92609 ...

  4. TermKit的新一代Mac终端,在Ubuntu 11.04 轻松安装TermKit

    作为开发人员的必备工具,终端程序却一直没有什么大的变化,TermKit旨在改变这一切,作为下一代的命令行/终端程序,TermKit为我们提供了一个图形化的终端/命令行程序,它可以以可视化的方式展示终端 ...

  5. vue---将json导出Excel的方法

    在做数据表格渲染的时候,经常遇到的需求的就是将导出excel,下面是使用vue进行项目数据进行导出的方法. 一.安装依赖 npm i -S file-saver npm i -S xlsx 二.在sr ...

  6. 爬虫数据提取之JSON与JsonPATH

    数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适 ...

  7. SpringBoot入门-JPA(三)

    什么是JPA JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. pom.xml <par ...

  8. 今天使用Jmeter时遇到的几个问题及解决方法

    JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法 在Jmeter中run JDBC Request时,收到 ...

  9. ETF:pcf文件制作

    pcf文件依赖数据: ETF基本信息() 指数权重文件(次日权重文件,中证指数公司) 现金替代标志文件(根据中证指数的停复牌文件) 净值文件(基金公司估值系统计算) 成分股数量计算公式: 1.估值系统 ...

  10. 读Secrets of the JavaScript Ninja(二)对象

    面向对象和原型 理解原型 在JavaScript中,可通过原型实现继承.原型的概念很简单.每个对象都含有原型的引用,当查找属性时,若对象本身不具有该属性,则会查找原型上是否有该属性. 每个对象都可以有 ...