一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - PHP中include/require/include_once/require_once使用心得

PHP中include/require/include_once/require_once使用心得

2021-02-25 23:18標(biāo)哥 PHP教程

include() 、require()語(yǔ)句包含并運(yùn)行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對(duì)于錯(cuò)誤的處理。require()語(yǔ)句在遇到包含文件不存在,或是出錯(cuò)的時(shí)候,就停止即行,并報(bào)錯(cuò)。include()則繼續(xù)即行。

最近一直在抽時(shí)間來(lái)學(xué)習(xí)PHP,據(jù)說(shuō)PHP是世界上最好的語(yǔ)言,于是各大論壇炸開(kāi)了鍋!哈哈,我們這里不是來(lái)討論哪門語(yǔ)言是最好的語(yǔ)言,我們是在學(xué)習(xí)PHP中經(jīng)常使用到的文件引入的四種方式的特點(diǎn)及區(qū)別!

相信大家在使用PHP時(shí)經(jīng)??吹絠nclude a.php、include_once a.php、require a.php或者require_once a.php類似這樣的寫法吧?

我們一起來(lái)學(xué)習(xí)和總結(jié)一下這幾個(gè)語(yǔ)句的作用及特點(diǎn)!

include

使用方法:

?
1
include "test.php";

一般是放在流程控制的處理部分中使用,將文件內(nèi)容引入。PHP程序在遇到include語(yǔ)句時(shí),才將它讀進(jìn)來(lái),這種方式可以把程序執(zhí)行時(shí)的流程簡(jiǎn)單化,便于復(fù)用代碼!

include在引入不存文件時(shí)產(chǎn)生一個(gè)警告且腳本還會(huì)繼續(xù)執(zhí)行,執(zhí)行時(shí)需要引用的文件每次都要進(jìn)行讀取和評(píng)估,且有返回值,比如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(FALSE) {
  include 'test.php'; // test.php不會(huì)被引入
}
 
<?php
 include 'test.php';// 現(xiàn)在的條件是test.php不存在
 echo '標(biāo)哥的技術(shù)博客'; // 仍然執(zhí)行下面的代碼
?>
 
$ret = include "QueryPhone.php";
if (!empty($ret)) {
  echo "文件引入成功";
} else {
  echo "文件引入失敗";
}

include_once

使用方法:

?
1
2
include_once "test.php";

加了_once之后,表示文件已引入的將不再引入。include_once引入文件的時(shí)候,如果碰到錯(cuò)誤會(huì)給出提示并繼續(xù)運(yùn)行下邊的代碼!

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

require

使用方法:

?
1
2
require "test.php";

一般是放在PHP文件的最前面將文件內(nèi)容引入,PHP會(huì)將require的文件內(nèi)容先引入成功當(dāng)前文件的一部分,然后才開(kāi)始執(zhí)行后面的代碼。

require在引入文件失敗時(shí)會(huì)給出提示且腳本會(huì)被中斷執(zhí)行。比如:

?
1
2
3
4
5
// 文件是不存在的
require "QueryPhone.php";
 
echo "沒(méi)有被打印";

require_once

使用方法:

?
1
2
require_once "test.php";

一般是放在PHP文件的最前面將文件內(nèi)容引入,PHP會(huì)先將待引入的文件內(nèi)容引入到本文件中,如果引入失敗則不會(huì)繼續(xù)往下執(zhí)行;如果引入成功,則可正常執(zhí)行下面的代碼。

它的使用方式與require差不多,不同的是require_once只會(huì)引入一次,如果之前已引入過(guò),則不會(huì)再引入!

綜合例子

假設(shè)有一個(gè)文件中a.php,里面只有一句echo file name is a;

?
1
2
3
4
5
6
7
8
<?php
 
include 'a.php';
require 'a.php';
 
include_once 'a.php';
require_once 'a.php';

那么上面這四個(gè)引入會(huì)打印多少行呢?其實(shí)只會(huì)打印前面的兩句代碼執(zhí)行結(jié)果,因此只有兩個(gè):

?
1
2
3
file name is a
file name is a

下面我們來(lái)交換一下前兩行與后兩行試試:

?
1
2
3
4
5
6
7
8
<?php
 
include_once 'a.php';
require_once 'a.php';
 
include 'a.php';
require 'a.php';

那么上面這四句會(huì)打印出多少行呢?自然是四行,因?yàn)榍皟尚性诖酥安](méi)有引入過(guò),因此會(huì)引入一次,而include/require雖然之前引入過(guò),還會(huì)再引入,因此打印結(jié)果:

?
1
2
3
4
5
file name is a
file name is a
file name is a
file name is a

注意事項(xiàng)

從理論上說(shuō),include和require后面加不加括號(hào)對(duì)執(zhí)行的結(jié)果并沒(méi)有什么區(qū)別,但是加上括號(hào)效率相對(duì)會(huì)較低,所以通常后面能不加括號(hào)就不要添加括號(hào)了!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲激情自拍偷拍 | 91污无限制破解安卓2021 | 天天噜 | 我与恶魔的h生活ova | 国产大胆歌舞团网站 | a天堂视频| 色先锋av资源中文字幕 | 国产卡一卡二卡四卡无卡 | 国产色站 | 欧美精品成人a多人在线观看 | 2019午夜福合集高清完整版 | 情人梁家辉在线 | 日韩欧美综合在线二区三区 | 欧美一区二区三区精品影视 | 蜜桃成熟时1997在线看免费看 | 久久国产免费 | 免费观看www视频 | 四虎永久在线精品国产馆v视影院 | 2021国产麻豆剧传媒剧情动漫 | 国产精品主播在线 | 蜜桃视频在线观看www | 亚洲一区二区福利视频 | www.国产在线观看 | 日本妇人成熟免费不卡片 | 美女任你摸 | 给我一个黄色网址 | 大奶喷水 | 免费二级毛片免费完整视频 | 牧教师| 欧美一级高清片免费一级 | 免费yjsp妖精com | 出轨同学会2在线观看 | 叛佛 作者满栀小说免费阅读 | 亚久久伊人精品青青草原2020 | 91免费精品国自产拍在线不卡 | 欧美日韩国产精品综合 | 艹b小说 | 99国产国人青青视频在线观看 | 日韩精品特黄毛片免费看 | 香港三级系列在线播放 | 亚洲国产情侣一区二区三区 |