文档章节

require() include()的区别

SuShine
 SuShine
发布于 2015/06/25 15:27
字数 608
阅读 8
收藏 0

php的require()性能与include()虽然有相似的地方,但是通过自己的学习和查找,还是找到了6点区别如下。

1、
不同之处在于,对include()来说,在include()执行时文件每次都要进行读取和评估;
而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。
这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。

2、
require是只执行一次的,不,这么说不恰当。应当说,require是先替代,将指定文件的内容代进来,再运行,所以它不知道你是否设置了FOR循环。而include语句,

是什么时候执行到了,什么把指定文件的内容代进来,继续执行。
所以,如果每次执行代码时想读取不同的文件,或者有通过一组文件叠代的循环,就使用 include(),因为可以给想要包括的文件名设置一个变量,当参数为include()

时使用这个变量。

3、
include在执行时,如果 include 进来的文件发生错误的话,不会立刻停止;而 require 则会立刻终止程序,不再往下执行。

4、include可以用在循环; require不行。   

5、include有返回值,而require没有(可能因为如此require的速度比include快)

ok.php里的代码为 echo "ok!";

$login = include('ok.php');
if(!empty($login)){ echo "文件包含成功";
}else{ echo "文件包含失败"; }

最后返回结果为:ok!文件包含成功

只要ok.php里有语句存在,就会返回成功。

在举一个例子:

1.php里的代码如下:
<?php
return array(
'ILOVEYOU'=>1,2,3,4
);
?>

index.php里的代码如下:
<?php
$a = array_change_key_case(include '1.php');

print_r($a);
?>

访问index.php的结果如下:
Array ( [iloveyou] => 1 [0] => 2 [1] => 3 [2] => 4 )

6、require的使用方法:这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常

用的函数,亦可以这个方法将它引入网页中。
include使用方法:这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化

本文转载自:http://blog.csdn.net/sfshine/article/details/8187332

共有 人打赏支持
SuShine
粉丝 126
博文 565
码字总数 154303
作品 0
朝阳
后端工程师
私信 提问
include 和require的区别

include和require的区别 以前在写程序的时候想过这个问题,今天刚好看到关于此方面的问题,所以就整理,总结下来! 这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 requir...

lebwade
2012/12/14
0
1
PHP include_once与require_once区别

①作用及用法   可以减少代码的重复   include(once)("文件的路径")与require(once)("文件的路径") ②理解   说白了,就是用包含进来的文件中的内容 代替 include(once),require(...

ufo00001
2017/07/12
0
0
php ​include与 include_once,require与 require_once

include() 与 include_once() require() 与 requireonce() 1.include() 函数会将指定的档案读入并且执行里面的程序。 例如:include('/home/me/myfile'); 被导入的档案中的程序代码都会被执行...

bo-少
2016/04/11
24
0
PHP中include() 与 require() 的区别(面试笔试常见题目)

require() 语句也可用于文件的包含,在使用上等同于 include() 。但二者也有一些细微差别,可以视实际情况采用 include() 还是 require() 。 二者区别如下: 当包含的文件不存在时(包含发生...

haigou20
2013/08/16
0
0
请教一下include、include_once、require、require_once的区别(越详细越好 )

请教一下include、include_once、require、require_once的区别(越详细越好 )

nba
2014/11/17
253
11

没有更多内容

加载失败,请刷新页面

加载更多

Linux 权限

权限 0 000 --- 无权限 1 001 --x 执行权限 2 010 -w- 写权限 3 011 -wx 写和执行 4 100 r-- 读权限 5 101 r-x 读和执行 6 110 rw- 读和写 7 111 rwx 读写执行 755 : rwxr-xr-x 660 : rw-r...

忙碌的小蜜蜂
6分钟前
0
0
21分钟教会你分析MaxCompute账单

21分钟教会你分析MaxCompute账单 背景 阿里云大计算服务MaxCompute是一款商业化的大数据分析平台,其计算资源有预付费和后付费两种计费方式。并且产品每天按照project为维度进行计量计费(账...

阿里云云栖社区
9分钟前
0
0
Docker使用 linuxserver/letsencrypt 生成SSL证书最全解析及实践

本文使用 HTTP 和 DNS 两种校验方式对 Docker 下 linuxserver/letsencrypt 项目进行了实践。生成SpringBoot可用证书,使用 Nginx 的 htpasswd 来对网站进行密码保护,并测试使用 fail2ban 防...

java菜分享
9分钟前
0
0
代码吃鸡:Python-Robocode

最近看到一个很有“未来感”的新闻: 一辆特斯拉在拉斯维加斯出了车祸,撞“死”了一个……emmmm……机器人。不知道是意外还是炒作,又或者是这位机器人故意碰瓷,反正人们也无法从受害者口中...

crossin
13分钟前
0
0
什么是公网IP、内网IP和NAT转换?

搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么? 1、引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网I...

Linux就该这么学
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部