在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()则是无条件包含函数)

1, 使用方式不同

(1) require 的使用方法如 require("requireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。引入是无条件的,发生在程序执行前,不管条件是否成立都要导入(可能不执行)。

(2) include 使用方法如 include("includeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。引入是有条件的,发生在程序执行时,只有条件成立时才导入(可以简化编译生成的代码)。

例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:

if($something){

include("somefile");

}

但不管$something取何值,下面的代码将把文件somefile包含进文件里:

if($something){

require("somefile");

}

下面的这个有趣的例子充分说明了这两个函数之间的不同。

$i = 1;

while ($i < 3) {

require("somefile.$i");

$i++;

}

在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():

$i = 1;

while ($i < 3) {

include("somefile.$i");

$i++;

}

2. 执行时报错方式不同

include和require的区别:include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。例如下面例子:

写两个php文件,名字为test1.php  和test2.php,注意相同的目录中,不要存在一个名字是test3.php的文件。

test1.php

include  (”test3.php”);

echo  “abc”;

?>

test2.php

require (”test3.php”)

echo  “abc”;

?>

浏览第一个文件,因为没有找到test999.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:

Warning: include(test3.php) [function.include]: failed to open stream: No such file or directory in D:\WebSite\test.php on line 2

Warning: include() [function.include]: Failed opening ‘test3.php' for inclusion (include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2

abc (下面的被执行了)

浏览第二个文件,因为没有找到test3.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:

Warning: require(test3.php) [function.require]: failed to open stream: No such file or directory in D:\WebSite\test2.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘test3.php' (include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2

下面的未被执行,直接结束

总之,include时执行时调用的,是一个过程行为,有条件的,而require是一个预置行为,无条件的。

php require的用法,PHP中include与require使用方法区别详解相关推荐

  1. php require的用法,php7中include 和 require 语句用法和区别

    include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中. 包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP.HT ...

  2. colsure php_PHP_PHP中Closure类的使用方法及详解,Closure,匿名函数,又称为Anonym - phpStudy...

    PHP中Closure类的使用方法及详解 Closure,匿名函数,又称为Anonymous functions,是php5.3的时候引入的.匿名函数就是没有定义名字的函数.这点牢牢记住就能理解匿名函 ...

  3. html offsetwidth 字符串宽度,基于js中style.width与offsetWidth的区别(详解)

    作为一个初学者,经常会遇到在获取某一元素的宽度(高度.top值...)时,到底是用 style.width还是offsetWidth的疑惑. 1. 当样式写在行内的时候,如 时,用 style.wid ...

  4. c算法题中各种输入和输出方法技巧详解!

    文章目录 引言 导入io库 输入 各种输入方法 `scanf` 格式说明符 基本示例 读入整数 读入其他类型的数字 读入单个字符 读入字符串 扫描字符集合 `getchar()` `gets()` ` ...

  5. java中public_java中public class与class的区别详解

    以下是对java中public class与class的区别进行了分析介绍,需要的朋友可以过来参考下 在编写类的时候可以使用两种方式定义类:public class定义类: class定义类:如果一个 ...

  6. sql语句中count(*),count(1),count(id)区别详解

    1.前言 相信大多数有一定经验的phper都碰到过这个问题,count(*)和count(1),以及count('id')列有什么区别呢,这三者到底有什么不同呢,今天我将为此做深层的剖析,各位猿友们, ...

  7. Burp Suite爆破模块中的四种模式的区别详解和演示(暴力破解)

    BrupSuite爆破的四种模式详解 最近看了好多关于暴力破解的博客,其中用的最多的工具就是bp了,但是好多都是一上来给了执行步骤,却没有对爆破的这几个模式选择进行解释,所以今天萌新写个纪录,来阐明这 ...

  8. c 语言 组合数,C++中求组合数的各种方法总结详解

    [问题]      组合问题 问题描述:找出从自然数1.2.... .n中任取r个数的所有组合.例如n=5,r=3的所有组合为: 1,2,3 1,2,4 1,3,4 2,3,4 1,2,5 1,3,5 ...

  9. Linux中su命令与su-命令区别详解!

    在linux系统中有很多比较相似的命令,比如su与su-.su命令主要用来切换linux用户的,而su-也可以切换用户,只不过它比su命令多了一个字符"-",那么Linux系统中s ...

最新文章

  1. 史上最简洁的UITableView Sections 展示包含NSDicionary 的NSArray
  2. jquery 毫秒转换成日期_jQuery Datepicker – 如何将日期格式化为纪元时间戳(以秒为单位,而不是毫秒)...
  3. linux 手动配置ip地址方法
  4. jq 地区(省市县区)联动菜单
  5. CentOS报错:“Could not resolve host: mirrorlist.centos.org; Unknown error“
  6. 重新想象 Windows 8 Store Apps (9) - 控件之 ScrollViewer 基础
  7. VS2010主题设置及插件推荐
  8. php极差平级,平行志愿有级差吗志愿极差是什么
  9. 情人节,怎么同时约会女神和女朋友
  10. RocketMQ的架构设计详解
  11. 开始开发HoloLens应用吧 Start Developing HoloLens Apps Today
  12. ppt复制切片器_零基础小白自学PPT快速入门到精通(上)
  13. 斑马旅游在千帆竞发的出境游市场能否找到属于自己的道路?
  14. 神界计算机丢失msvcp120.dll,Win7系统msvcp120.dll丢失的解决方法
  15. mac自带邮件设置QQ企业邮箱发邮件
  16. 人工智能轨道交通行业周刊-第9期(2022.8.8-8.14)
  17. 生成帮助文档(html或chm格式)
  18. 09-Scrum过程-评审会(Review Meeting) 反思会(Retrospective Meeting)
  19. MGN(多粒度网络)模型训练的详细步骤
  20. 独家 | 19年NAACL纪实:自然语言处理的实用性见解

热门文章

  1. 命令模式(Command)
  2. 防火墙与入侵检测技术
  3. 树状数组 Binary Indexed Tree (B.I.T)
  4. nova7计算机复制后为啥会就在桌面,华为nova7怎么调返回键
  5. 小程序仿微信写简易聊天室
  6. 【LLM】浅析chatglm的sft+p-tuning v2
  7. 欧姆龙PLC程序欧姆龙案例欧姆龙标准程序
  8. seajs简易使用说明
  9. mysql threadpool_ThreadPool(线程池) in .Net
  10. API 帮产品度过瓶颈期