最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年08月28日 09:37:51   作者:標(biāo)哥  
include() 、require()語句包含并運(yùn)行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對于錯誤的處理。require()語句在遇到包含文件不存在,或是出錯的時候,就停止即行,并報錯。include()則繼續(xù)即行。

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

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

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

include

使用方法:

include "test.php"; 

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

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

if(FALSE) { 
  include 'test.php'; // test.php不會被引入 
} 
 
<?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

使用方法:

include_once "test.php"; 
 

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

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

require

使用方法:

require "test.php";
 

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

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

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

require_once

使用方法:

require_once "test.php";
 

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

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

綜合例子

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

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

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

file name is a
file name is a
 

下面我們來交換一下前兩行與后兩行試試:

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

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

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

注意事項

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

相關(guān)文章

最新評論

台东县| 苍梧县| 于田县| 鹤庆县| 合川市| 屏东县| 游戏| 武川县| 静安区| 昌江| 平乡县| 武冈市| 古交市| 廊坊市| 清水河县| 惠州市| 靖安县| 石门县| 洛扎县| 河南省| 唐山市| 元朗区| 日照市| 西贡区| 大连市| 新乡市| 读书| 三门县| 会理县| 遵义县| 灵川县| 新源县| 松溪县| 巴中市| 江口县| 盐城市| 荆门市| 冕宁县| 南郑县| 富锦市| 五原县|