常數是一個簡單值的標籤(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變。(所謂的“magic constants” __FILE__ 和 __LINE__ 看上去是個例外,但是它們實際上不是常數。)常數預定為大小寫敏感。按照慣例常數標籤總是大寫的。
常數名和其它任何 PHP 標簽遵循同樣的命名規則。合法的常數名以字母或下劃線開始,後面跟著任何字母,數字或下劃線。用正則表達式是這樣表達的:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
註: 在這裡,字母是 a-z,A-Z,以及從 127 到 255(0x7f-0xff)的 ASCII 字元。
常數的範圍是全域的 - 不用管範圍就可以在代碼的任何地方連接。
可以用 define() 函式來定義常數。一個常數一旦被定義,就不能再改變或者取消定義。
常數只能包含標量資料(boolean,integer,float 和 string)。
可以簡單的通過指定其名字來取得常數的值,不要在常數前面加上 $ 符號。如果常數名是動態的,也可以用函式 constant() 來讀取常數的值。用 get_defined_constants() 可以獲得所有已定義的常數列表。
註: 常數和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常數,PHP 假定你想要的是該常數本身的名字。此時將發出一個 notice。用 defined() 函式來判斷一個常數是否已被定義。
常數和變數不同:
常數前面沒有美元符號($);
常數只能用 define() 函式定義,而不能通過設值語句;
常數可以不用理會變數範圍的規則而在任何地方定義和連接;
常數一旦定義就不能被重新定義或者取消定義;
常數的值只能是標量。