include

使用方法:

include "test.php"; 

一般是放在流程控制的处理部分中使用,将文件内容引入。PHP程序在遇到include语句时,才将它读进来,这种方式可以把程序执行时的流程简单化,便于复用代码!

include在引入不存文件时产生一个警告且脚本还会继续执行,执行时需要引用的文件每次都要进行读取和评估,且有返回值,比如:

if(FALSE) {
   include 'test.php'; // test.php不会被引入
} <?php
 include 'test.php';// 现在的条件是test.php不存在
 echo '标哥的技术博客'; // 仍然执行下面的代码
?> $ret = include "QueryPhone.php";
if (!empty($ret)) {
   echo "文件引入成功";
} else {
   echo "文件引入失败";
}

include_once

使用方法:

include_once "test.php"; 

加了_once之后,表示文件已引入的将不再引入。include_once引入文件的时候,如果碰到错误会给出提示并继续运行下边的代码!

他的使用方式与include差不多,不同的是include_once只引入一篇!

require

使用方法:

require "test.php";

一般是放在PHP文件的最前面将文件内容引入,PHP会将require的文件内容先引入成功当前文件的一部分,然后才开始执行后面的代码。

require在引入文件失败时会给出提示且脚本会被中断执行。比如:

// 文件是不存在的
require "QueryPhone.php"; echo "没有被打印";

require_once

使用方法:

require_once "test.php";

一般是放在PHP文件的最前面将文件内容引入,PHP会先将待引入的文件内容引入到本文件中,如果引入失败则不会继续往下执行;如果引入成功,则可正常执行下面的代码。

它的使用方式与require差不多,不同的是require_once只会引入一次,如果之前已引入过,则不会再引入!

综合例子

假设有一个文件中a.php,里面只有一句echo file name is a
;

<?php

include 'a.php';
require 'a.php'; include_once 'a.php';
require_once 'a.php';

那么上面这四个引入会打印多少行呢?其实只会打印前面的两句代码执行结果,因此只有两个:

file name is a
file name is a

下面我们来交换一下前两行与后两行试试:

<?php

include_once 'a.php';
require_once 'a.php'; include 'a.php';
require 'a.php';

那么上面这四句会打印出多少行呢?自然是四行,因为前两行在此之前并没有引入过,因此会引入一次,而include/require虽然之前引入过,还会再引入,因此打印结果:

file name is a
file name is a
file name is a
file name is a

注意事项

从理论上说,include和require后面加不加括号对执行的结果并没有什么区别,但是加上括号效率相对会较低,所以通常后面能不加括号就不要添加括号了!

include require include_once require_once的更多相关文章

  1. php学习笔记6--php中的文件包含 include,require,include_once,require_once

    php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...

  2. php include,require,include_once,require_once 的区别

    include(),require(),include_once(),require_once()作用都是包含并运行指定文件,但是使用场景又有很大区别. 1.include()和require()的区 ...

  3. PHP内的包含语句(include(),require(),include_once(),require_once())

    背景:继续总结PHP内的函数. 在一般的程序中,我们经常重复用到一些代码,但是如果只是简单的进行代码复制,则会增加代码的冗余度,不便于程序的运行.因此,我们可以把重复性的代码分离出来,以外部文件的方式 ...

  4. PHP中的include、include_once、require、require_once

    include.include_once().require.require_once() 作用: 通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件( ...

  5. PHP包含文件函数include、include_once、require、require_once区别总结

    一.使用语法和简介 1.include() 语法:include(/path/to/filename)include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件 ...

  6. include()、include_once()与require()、require_once()的异同点

    相同点: 首先include().include_once()与require().require_once()都是用来包含并运行指定文件的,并且包含的文件在执行时在结构上是完全一样的. 例如:inc ...

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

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

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

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

  9. php require、require_once和include、include_once的区别

    一.引入php文件路径的方法require '文件路径'; require ('文件路径');require_once '文件路径'; require_once ('文件路径');include 同 ...

随机推荐

  1. OSX.PackageManager-Homebrew

    How to install pip on mac? http://stackoverflow.com/questions/12092306/how-to-install-scipy-with-pip ...

  2. mysql 8小时timeout问题

    MySQL> show variables like '%timeout%'; +--------------------------+-------+ | Variable_name      ...

  3. Java中方法的重写

    ★★前提:方法的重写建立在继承关系上★★ 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 所谓方法的重写是指子类中的方法与父类中继承 ...

  4. pycharm 创建文件时,自动添加文件头注释

    File->settings->Editor->File and Code Templates->Python Script # -*- coding: utf-8 -*- & ...

  5. 连接db2数据库出现No buffer space available (maximum connections reached?)

    Caused by: javax.naming.NamingException: [jcc][t4][2043][11550][3.57.82] 异常 java.net.SocketException ...

  6. 阿里云安骑士-Centos7系统基线合规检测-修复记录

    执行命令 sysctl -w net.ipv4.conf.all.send_redirects=0sysctl -w net.ipv4.conf.default.send_redirects=0sys ...

  7. 【Ruby】ruby安装

    Ruby简介 Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License.它 ...

  8. Python开课复习-10/17

    pickle是一个用来序列化的模块序列化是什么?指的是将内存中的数据结构转化为一种中间格式 并存储到硬盘上 反序列化?将硬盘上存储的中间格式数据在还原为内存中的数据结构 为什么要序列化?就是为了将数据 ...

  9. 关于流量升高导致TIME_WAIT增加,MySQL连接大量失败的问题

    有个应用就是每次都会去查一个接口,接口返回用户的信息数据,从而展现不同的页面效果.大致流程如下 应用APP(电信)-> memcache ->电信custom接口 ->master- ...

  10. thinkphp生成的验证码提示因存在错误无法显示

    /** * 生成验证码 */ public function verify(){ ob_clean();//加上这段代码 $Verify = new Captcha(); $Verify->le ...