php中的const是用來定義一個常數的一種關鍵字;使用const關鍵字定義常數時,只能包含標量資料;可以將常數定義為一個表達式,也可以定義為一個array。
本文操作環境:Windows7系統、PHP7.1、Dell G3。
php中const什麼意思?
php中的const是用來定義一個常數的一種關鍵字。
可以使用 const 關鍵字或 define() 函數兩種方法來定義一個常數。函數 define() 允許將常數定義為一個表達式,而 const 關鍵字有一些限制,具體可參考下述章節。一個常數一旦被定義,就不能再改變或取消定義。
使用 const 關鍵字定義常數時,只能包含標量資料(bool、int、float 、string)。可以將常數定義為一個表達式,也可以定義為一個 array。也可以定義 resource 為常數,但應盡量避免,因為可能會造成不可預測的結果。
可以簡單的透過指定其名字來取得常數的值,與變數不同,不應該在常數前面加上 $ 符號。如果常數名稱是動態的,也可以用函數 constant() 來取得常數的值。用 get_defined_constants() 可以取得所有已定義的常數列表。
注意: 常數和(全域)變數在不同的名字空間。這表示例如 true 和 $TRUE 是不同的。
如果使用了一個未定義的常數,則會拋出 Error。在 PHP 8.0.0 之前,呼叫未定義的常數會被解釋為一個該常數的 字串,即(CONSTANT 對應 "CONSTANT" )。此方法已在 PHP 7.2.0 中被廢棄,會拋出一個 E_WARNING 等級錯誤。 (PHP 7.2.0 之前會發出一個 E_NOTICE 等級的錯誤。)請參閱手冊中為什麼 $foo[bar] 是錯誤的(除非 bar 是常數)。這不適用於 (完全)限定的常數,如果未定義,將始終引發 Error 。
注意: 如果要檢查是否定義了某一常數,請使用 defined() 函數。
常數和變數有以下不同:
常數前面沒有美元符號($);
常數可以不用理會變數的作用域而在任何地方定義和存取;
常數一旦定義就不能被重新定義或取消定義;
常數能計算標量值或數組。
注意:
和使用 define() 定義常數相反的是,使用 const 關鍵字定義常數必須處於最頂端的作用域,因為使用此方法是在編譯時定義的。這表示不能在函數內,循環內以及 if 或 try/catch 語句之內用 const 定義常數。
推薦學習:《PHP影片教學》
以上是php中const什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!