php 中include()與require()的對比

來源:互聯網
上載者:User

php的require()與include(),在效能方面並無大的不同。

僅有的一些不同在於:

include()執行時檔案每次都要進行讀取和評估;
require()執行時檔案只處理一次(實際上,檔案內容替換了require()語句)。
即如果有包含這些指令之一的代碼和可能執行多次的代碼,則使用require()效率比較高。

另外,如果每次執行代碼時要讀取不同的檔案,或有通過一組檔案疊代的迴圈,就應該使用include(),因為可以給想要包含的檔案名設定一個變數,當參數為include()時使用這個變數。

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 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.