章 9. 常數

目錄
語法
預定義常數

常數是一個簡單值的標籤(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變。(所謂的“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() 函式來定義常數。一個常數一旦被定義,就不能再改變或者取消定義。

常數只能包含標量資料(booleanintegerfloatstring)。

可以簡單的通過指定其名字來取得常數的值,不要在常數前面加上 $ 符號。如果常數名是動態的,也可以用函式 constant() 來讀取常數的值。用 get_defined_constants() 可以獲得所有已定義的常數列表。

註: 常數和(全域)變數在不同的名字空間中。這意味著例如 TRUE$TRUE 是不同的。

如果使用了一個未定義的常數,PHP 假定你想要的是該常數本身的名字。此時將發出一個 notice。用 defined() 函式來判斷一個常數是否已被定義。

常數和變數不同:

例子 9-1. 定義常數

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>