首頁 >後端開發 >PHP問題 >PHP中include和require差別是什麼?和Include_once的差別?

PHP中include和require差別是什麼?和Include_once的差別?

慕斯
慕斯原創
2021-06-15 15:00:512014瀏覽

上篇文章為大家介紹了《PHP中檔案常用系統函數有哪些?文件的載入原理是? 》,本文繼續介紹PHP中include和require差異是什麼?和Include_once的差別?有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

PHP中include和require差別是什麼?和Include_once的差別?

●Include和require差別。

首先先了解Include和include_once 的區別:

Include系統會碰到一次,執行一次;如果對統-一個檔案進行多次加載,那麼系統會執行多次;

Include_once:

系統碰到多次,也只會執行一次

具體我們以程式碼為範例:

建立兩個文件,分別命名為include1和include2;程式碼如下:

include1:

<?php
//被包含的文件
//定义数据
$a = 1;
define(&#39;PI&#39;,3.14);
?>

include2:

<?php
//包含文件:使用数据
//包含文件
include &#39;include1.php&#39;; //包含当前文件include2. php所在文件夹下的include1. php
echo $a,PI;
//再次加重
include &#39;include1.php&#39;;
?>

程式碼示範結果如下:

PHP中include和require差別是什麼?和Include_once的差別?

PHP中include和require差別是什麼?和Include_once的差別?

當我們在原有的程式碼基礎上,把include 'include1.php';註解掉,然後我們加上

include_once 'include1.php';運行結果會顯示不在出現notice,不在報錯,但是我們需要注意的是同樣的常數可能會存在重複定義,也就是,如果包含成功了,也就重複定義了。此時我們第二次的運行結果沒有出現錯誤,是因為系統發現我們在include1中已經定義過一次了,我們可以知道系統會自動查詢,因此我們也知道Include_once:

系統碰到多次,也只會執行一次

,這是Include和include_once 的最明顯的區別

Require和include的區別:本質都是包含文件,唯- -的區別在於包含不到文件的時候,報錯的形式不一樣。

具體我們以程式碼為例:

我們先隨便定義一個文件,結果顯示兩個錯誤,首先說系統無法開啟我們定義的文件,其次,系統找不到該文件,但是系統報的是警告,也就是不影響我們執行,當我們在程式碼下方正常放程式碼,我們會發現會正常解析,

<?php
//require和include的区别
//include包含文件
include &#39;b.php&#39;;
?>

程式碼示範結果如下:

PHP中include和require差別是什麼?和Include_once的差別?

<?php
//require和include的区别
//include包含文件
include &#39;a.php&#39;;
echo &#39;我喜欢你&#39;;
?>

程式碼示範結果如下:

PHP中include和require差別是什麼?和Include_once的差別?

#以上可得知,雖然我們上述會報錯,但不影響我們執行結果;

Include的錯誤等級比較輕:不會阻止程式碼執行。

Require要求較高:如果包含出錯程式碼不再執行(require 後面的程式碼)

具體我們以程式碼為例:

<?php
//require和include的区别
//include包含文件
//include &#39;a.php&#39;;
//requre 包含文件
require &#39;b.php&#39;;
echo &#39;我喜欢你&#39;;
?>

程式碼示範結果如下:

PHP中include和require差別是什麼?和Include_once的差別?

和上述我們執行的程式碼有一點差別就是,require會報出fatal error:找不到對應的文件,並且不會再執行我們輸入的代碼

推薦學習:《PHP視頻教程

以上是PHP中include和require差別是什麼?和Include_once的差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn