簡體   English   中英

include 和 include_once 有和沒有圓括號有什么區別

[英]What is the difference between include and include_once with and without round brackets

我最近發現 php 中有更多類型的include()我的問題是以下說明之間的區別是什么:

include_once 'file.txt';
include 'file.txt';

include ('file.txt');
include_once ('file.txt');

如果未創建file.txt我收到的錯誤消息是什么?

文件名周圍的括號沒有區別。 include是一種語言結構,而不是函數,因此它的參數不需要括號。 所以它們是等價的,就像:

echo "foo";
echo ("foo");

所以只有兩種形式: includeinclude_once 它們之間的區別在於如果您嘗試在同一個腳本中多次包含同一個文件會發生什么。 include每次都會包含它, include_once只會在第一次執行,並忽略所有重復。

如果文件執行某些操作,例如回顯 HTML 或設置變量,則通常使用include include_once用於定義函數和類的文件,因為如果您嘗試重新定義它們,它們將得到一個錯誤。

如果文件不存在,您將收到如下警告:

警告:include(file.txt):無法打開流:第 4 行的 /path/to/your/script.php 中沒有這樣的文件或目錄
警告:include():無法在第 4 行的 /path/to/your/script.php 中打開包含 (include_path='.:') 的“file.txt”

includeinclude_once的警告相同。

還有requirerequire_once 它們就像includeinclude_once ,但如果文件不存在,它不會打印警告,而是打印錯誤並停止腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM