相同點:兩者都是包含並運行指定文件,語法可以使用require('a.php')、include('a.php'),也可以使用require 'a.php'、include 'a.php'。
require_once和include_once用於在腳本執行過程中,同一文件有可能被包含超過一次的情況下,確保文件只被包含一次,以避免函數重定義以及變量重新賦值等問題。
不同的:
1.對錯誤的處理方式不同
include引入文件的時候,如果碰到錯誤,只產生警告(E_WARNING),並繼續執行。
require引入文件的時候,如果碰到錯誤,會產生錯誤(E_COMPILE_ERROR),並停止執行。
2.返回值
include有返回值,失敗返回false,成功返回1,
require沒有返回值。
代碼注意點:
1 //此代碼錯誤,include與文件是一個整體 2 if (include('z.php') == true){ 3 echo 'ok',PHP_EOL; 4 } 5 //正確代碼如下 6 if ((include('z.php')) == true){ 7 echo 'ok',PHP_EOL; 8 } 9 //同理參數型正確代碼如下 10 if ((include 'z.php') == true){ 11 echo 'ok2',PHP_EOL; 12 }