語法
可以用 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 定義常數<span></span>
<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // outputs "Hello world."echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息?>
<?php// 以下代码在 PHP 5.3.0 后可以正常工作const CONSTANT = 'Hello World'; echo CONSTANT;?>
<span></span>
Note:
和使用define() 來定義常數相反的是,使用 const
關鍵字定義常數必須處於最頂端的作用區域,因為用此方法是在編譯時定義的。這就表示不能在函數內,循環內以及if 語句之內用 const 來定義常數。 版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了PHP常數官方文件解釋,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。