中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      PHP中include和require的區別

      時間:2024-08-08 09:37:43 PHP 我要投稿
      • 相關推薦

      PHP中include和require的區別

        include和require在PHP中有什么區別?下面yjbys小編為大家詳細講解,快來看看吧!

        1、概要

        require()語句的性能與include()相類似,都是包括并運行指定文件。不同之處在于:對include()語句來說,在執行文件時每次都要進行讀取和評估;而對于require()來說,文件只處理一次(實際上,文件內容替換require()語句)。這就意味著如果可能執行多次的代碼,則使用require()效率比較高。另外一方面,如果每次執行代碼時是讀取不同的文件,或者有通過一組文件迭代的循環,就使用include()語句。

        require的使用方法如:require("myfile.php"),這個語句通常放在PHP腳本程序的最前面。PHP程序在執行前,就會先讀入require()語句所引入的文件,使它變成PHP腳本文件的一部分。include使用方法和require一樣如:include("myfile.php"),而這個語句一般是放在流程控制的處理區段中。PHP腳本文件在讀到include()語句時,才將它包含的文件讀取進來。這種方式,可以把程式執行時的流程簡單化。

        incluce在用到時加載

        require在一開始就加載

        _once后綴表示已加載的不加載

        PHP系統在加載PHP程序時有一個偽編譯過程,可使程序運行速度加快。但incluce的文檔仍為解釋執行。include的文件中出錯了,主程序繼續往下執行,require的文件出錯了,主程序也停了,所以包含的文件出錯對系統影響不大的話(如界面文件)就用include,否則用require。

        require()和include()語句是語言結構,不是真正的函數,可以像php中其他的語言結構一樣,例如echo()可以使用echo("ab")形式,也可以使用echo "abc"形式輸出字符串abc。require()和include()語句也可以不加圓括號而直接加參數。

        include_once()和require_once()語句也是在腳本執行期間包括運行指定文件。此行為和include()語句及require()類似,使用方法也一樣。唯一區別是如果該文件中的代碼已經被包括了,則不會再次包括。這兩個語句應該用于在腳本執行期間,同一個文件有可能被包括超過一次的情況下,確保它只被包括一次,以避免函數重定義以及變量重新賦值等問題。

        2、詳情

        2.1 報錯

        include引入文件的時候,如果碰到錯誤,會給出提示,并繼續運行下邊的代碼。

        require引入文件的時候,如果碰到錯誤,會給出提示,并停止運行下邊的代碼。

        用例子來說話,寫兩個php文件,名字為test-include.php和test-require.php,注意相同的目錄中,不要存在一個名字是test-nothing.php的文件。

        test-include.php

        <?php

        include 'test-nothing.php';

        echo 'abc';

        ?>

        test-require.php

        <?php

        require 'test-nothing.php';

        echo 'abc';

        ?>

        瀏覽http://localhost/test-include.php,因為沒有找到test-nothing.php文件,我們看到了報錯信息,同時,報錯信息的下邊顯示了abc,你看到的可能是類似下邊的情況:

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

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

        瀏覽http://localhost/test-require.php,因為沒有找到test-nothing.php文件,我們看到了報錯信息,但是,報錯信息的下邊沒有顯示abc,你看到的可能是類似下邊的情況:

        Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2

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

        2.2 條件引用

        include()與require()的功能相同,用法上卻有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。

        例如下面例子,如果變量$somg為真,則將包含文件somefile.php:

        if($some){

        include 'somefile.php';

        }

        但無論$some取何值,下面的代碼將把文件somefile.php包含進文件里:

        if($something){

        require 'somefile.php';

        }

        下面的例子充分說明了這兩個函數之間的不同:

        $i = 1;

        while ($i < 3) {

        require "somefile.$i.php";

        $i++;

        }

        可以從以上這段代碼中看出,每一次循環的時候,程序都將把同一個文件包含進去,很顯然這不是我們想要的,可以看出這段代碼希望在每次循環時,將不同的文件包含進來,如果要完成這個功能,只能使用函數include():

        $i = 1;

        while ($i < 3) {

        include "somefile.$i.php";

        $i++;

        }

        2.3 文件引用方式

        include()執行時需要引用的文件每次都要進行讀取和評估,require()執行時需要引用的文件只處理一次(實際上執行時需要引用的文件內容替換了require()語句)可以看出若有包含這些指令之一的代碼和可能執行多次的代碼,則使用require()效率比較高,若每次執行代碼時相讀取不同的文件或者有通過一組文件疊代的循環,就使用include(),可以給想要包括的文件名設置變量,當參數為 include()時使用這個變量。

      【PHP中include和require的區別】相關文章:

      php中session和cookie的區別09-20

      PHP中MySQL、MySQLi和PDO的用法和區別07-01

      Java和PHP的區別08-21

      PHP和Java的區別09-06

      php中instanceof 與 isa區別分析09-27

      PHP中的排序函數區別分析08-23

      php中Get方法跟Post方法的區別04-26

      php中dirname()和--FILE--常量的用法09-26

      關于HTML中Id和Name的區別06-15

      講解HTML中iframe和frame的區別07-18

      主站蜘蛛池模板: 99精品国产第一福利网站| 欧美日本国产亚洲网站免费一区二区 | 泗洪县| 中国免费av一区二区| 天堂最新在线官网av| 久久婷婷是五月综合色 | 亚洲婷婷综合色香五月| 桃子视频亚洲一二三区| 久久亚洲中文字幕精品一区四| 天堂av无码大芭蕉伊人av孕妇黑人| 日韩精品极品免费观看| 日韩精品一区二区亚洲av性色| 东兴市| 国产偷闻隔壁人妻内裤av| 精品999无码在线观看| 视频二区精品中文字幕| 国产熟女丰满老熟女熟妇| 国产一区二区三区免费看视频| 博乐市| 花莲县| 清新县| 宁津县| 塔河县| 看黄色亚洲看黄色亚洲| 运城市| 中文字幕少妇人妻视频| 左权县| 国产亚洲视频在线观看播放| 中文字幕人妻少妇第一页| 亚洲国产精品性色av| 丰满人妻无套中出中文字幕| 极品诱惑一区二区三区| 国产午夜精品视频在线播放| 国产成人精品亚洲日本在| 阳曲县| 在线一区二区三区观看视频| 国产性一交一乱一伦一色一情| 欧美成人网视频| 2020国产精品久久久久| 国产日产亚洲系列av| 天堂av在线免费播放|