常數我們可以理解為值不變的量。常數只要被定義了,在程式腳本的其他任何地方都不能改變。
可以用 define() 函數定義常數,在 PHP 5.3.0 以後,可以使用 const 關鍵字在類別定義之外定義常數。一個常數一旦被定義,就不能再改變或取消定義。
常數只能包含標量資料( boolean , integer , float 和 string )。可定義 resource 常數,但應盡量避免,因為會造成不可預測的結果。
可以簡單的透過指定其名字來取得常數的值,與變數不同,不應該在常數前面加上 $ 符號。如果常數名是動態的,也可以用函數 constant() 來取得常數的值。用 get_defined_constants() 可以取得所有已定義的常數清單。
Note: 常數和(全域)變數在不同的名字空間。這表示例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常數,PHP 假定想要的是該常數本身的名字,如同用字串呼叫它一樣(CONSTANT 對應 "CONSTANT")。此時將發出一個 E_NOTICE 等級的錯誤。請參閱手冊中為何 $foo[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常數)。如果只想檢查是否定義了某一常數,用 defined() 函數。
Example #1 定義常數
<?php define ( "CONSTANT" , "Hello world." ); echo CONSTANT ; // outputs "Hello world." echo Constant ; // 输出 "Constant" 并发出一个提示级别错误信息 ?>
Example #2 使用關鍵字 const 定義常數
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const CONSTANT = 'Hello World' ; echo CONSTANT ; ?>
Note:
#和使用 define() 定義常數相反的是,使用 const 關鍵字定義常數必須處於最頂端的作用區域,因為用此方法是在編譯時定義的。這表示不能在函數內,循環內以及 if 語句之內用 const 定義常數。
以上是php 中的常數怎麼宣告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!