include 和require的區別

include和require的區別

之前在寫程序的時候想過這個問題,今天恰好看到關於此方面的問題,因此就整理,總結下來! php

這兩種結構除了在如何處理失敗以外徹底同樣。include() 產生一個警告而 require() 則致使一個致命錯誤。換句話說,若是你想在遇到丟失文件時中止處理頁面就用 require()。include() 就不是這樣,腳本會繼續運行 html

include 包括 沒有也能夠 ui

require 須要 必定要有 spa

include 出錯時返回一個錯誤但繼續執行 htm

require 出錯時產生一個致命錯誤,結束運行 get

 

--------------------------------------------------------------------------------- io

  • require() :若是文件不存在,會報出一個fatal error.腳本中止執行
  • include() : 若是文件不存在,會給出一個 warning,但腳本會繼續執行


這裏特別要注意的是:
使用include()文件不存在時,腳本繼續執行,這種狀況只出如今PHP 4.3.5以前,這一點,每每被人忽視。

推薦使用require_once()和include_once(),能夠檢測文件是否有重複包含。
function

-------------------------------------------------------------------------------------- require

還有一個區別,這樣來描述:
只要有require,總會包含指定的文件;
若是程序沒有執行到include,指定的文件不會被包含,好比if條件不成立,在if語句裏用include 循環

(如下是這一區別的詳細介紹)

注: 在 PHP 4.0.2 以前適用如下規則:require() 老是會嘗試讀取目標文件,即便它所在的行根本就不會執行。條件語句不會影響 require()。不過若是 require() 所在的行沒有執行,則目標文件中的代碼也不會執行。一樣,循環結構也不影響 require() 的行爲。儘管目標文件中包含的代碼仍然是循環的主體,但 require() 自己只會運行一次。  

相關文章
相關標籤/搜索