include和require的區別

2022-09-02 18:30:06 字數 1915 閱讀 4886

include和require的區別

準備在乙個php的開源程式上做點二次開發,藉此機會想對php進行一下系統的學習。曾經也大概的了解過一點php,但因為工作中一直沒有用到這門語言,所以慢慢也放下了。走了這麼久的彎路才明白,專案驅動是最好的學習方式。只有當你需要用到一門語言的時候,去學習它才會有比較好的效果,而且也不容易忘記。

在二次開發之前得先了解一下原先程式的整個結構,在看原始碼的過程中發現有大量的引入語句,記得之前就對php中的include和require的區別一直很含糊,不能再用這樣的態度對學習,因此特地停下來了解一下php和include和require的聯絡和區別。

首先include和require都是引入指定的檔案。_once表示只引入一次,即之前已經引入過的不再引入。

例如1.php中有句簡單的列印echo '1

'下面的程式執行的結果:

<?php

include '1.php';

require '1.php';

include_once '1.php';

require_once '1.php';

將是

1

而不是1

如果將_once引入的語句放在include和require上面,結果將是

1、載入失敗的處理方式不同

include與require除了在處理引入檔案的方式不同外,最大的區別就是:

include在引入不存檔案時產生乙個警告且指令碼還會繼續執行,

require則會導致乙個致命性錯誤且指令碼停止執行。

<?php

include 'hello.php';

echo 'world';

?>

如果hello.php不存在,echo 『world』這句是可以繼續執行的。

<?php

require 'hello.php';

echo 'world';

?>

如果hello.php不存在,echo 『hello』這句是不會執行的,到require時就停止了。

2、include()是有條件包含函式,而 require()則是無條件包含函式。

if(false)

if(false)else

include()執行時需要引用的檔案每次都要進行讀取和評估,

require()執行時需要引用的檔案只處理一次(實際上執行時需要引用的檔案內容替換了require()語句)

可以看出若有包含這些指令之一的**和可能執行多次的**,則使用require()效率比較高,

若每次執行**時相讀取不同的檔案或者有通過一組檔案疊代的迴圈,就使用include(),

require通常使用方法,這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。

include通常使用方法,這個函式一般是放在流程控制的處理部分中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化

另外關於include和require後面是否加括號的問題,

理論上來說:include和require後面加不加括號對執行結果沒有區別,但是加上括號效率較低,所以後面能不加括號就不加括號。

require和include的區別

在php中,include和require的作用比較容易混淆。下面我以乙個經典例子來深刻說明它們的區別。當我們經常訪問乙個資料庫時,可以把連庫語句寫成乙個檔案 con db.php dbh mysql connect localhost mysql select db admreqs 在實際應用時,...

require和include的區別

require 和 include 二種方式提供不同的使用彈性。require 的使用方法如 require myrequirefile.php 這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式...

include和require的區別

require 語句的效能與include 相類似,都是包括並執行指定檔案。不同之處在於 對include 語句來說,在執行檔案時每次都要進行讀取和評估 而對於require 來說,檔案只處理一次 實際上,檔案內容替換require 語句 這就意味著如果可能執行多次的 則使用require 效率比較...