require() 和 include()只有一個區別 ---- 處理失敗的方式不一樣。 include()會產生一個警告,同時會繼續執行腳本;require()會致使一個終極錯誤並中止腳本的執行。sql
關於兩者的區別,網上還有一些, 可是具體測試下來,只有上面那個區別是真實存在的。下面說兩個網上流傳的典型的區別(實際是沒有的,或者由於版本緣由而消失了)測試
1. require() 不能受任何控制結構的控制,即:判斷條件爲假也會執行require語句。 ui
在 PHP 4.0.2 以前適用如下規則:require() 老是會嘗試讀取目標文件,即便它所在的行根本就不會執行。條件語句不會影響 require()。不過若是 require() 所在的行沒有執行,則目標文件中的代碼也不會執行。一樣,循環結構也不影響 require() 的行爲。儘管目標文件中包含的代碼仍然是循環的主體,但 require() 自己只會運行一次。
2. require()語句包含的文件不能有返回值。試圖在require()語句中返回值將會產生一個解析錯誤。spa
這個區別不知道是怎麼來的, 可是我在PHP Version 5.4.16上測試的結果倒是能夠有返回值的, 具體之前的版本是否是不容許就不清楚了, 歡迎你們提醒