常數簡介
常數是一個簡單值的識別碼(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變(除了所謂的魔術常數,它們其實不是常數)。常量預設為大小寫敏感。依照慣例常數標識符總是大寫的。
常數名稱和其它任何 PHP 標籤遵循相同的命名規則。合法的常量名稱以字母或底線開始,後面跟著任何字母,數字或底線。用正規表示式是這樣表示的:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_ \x7f-\xff]* (註: 在這裡,字母是a-z,A-Z,以及從127 到255(0x7f-0xff)的ASCII 字元)
和super globals 一樣,常數的範圍是全局的。不用管作用域就可以在腳本的任何地方存取常數。有關作用得更多資訊請閱讀手冊中的變數範圍。
語法
可以用 define() 函數來定義常數。一個常數一旦被定義,在程式執行的過程中就不能再改變或取消定義。
常數只能包含標量資料(boolean,integer,float 和 string)。
可以簡單的透過指定其名字來取得常數的值,不要在常數前面加上 $ 符號。如果常數名稱是動態的,也可以用函數 constant() 來讀取常數的值。用get_defined_constants() 可以得到所有已定義的常數列表。
註: 常數和(全域)變數在不同的名字空間。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常數,PHP 假定你想要的是該常數本身的名字,如同你用字串呼叫它一樣(CONSTANT 對應 "CONSTANT")。此時將發出一個 E_NOTICE 等級的錯誤。請參閱手冊中為什麼 $foo[bar] 是錯誤的(除非你事先用 define() 將 bar 定義為一個常數)。如果你只想檢查是否定義了某一常數,用 defined() 函數。
三、常數和變數的不同
常數前面沒有美元符號($);
常數只能用define() 函數定義,而不能透過賦值語句;
常數可以不用理會變數範圍的規則而在任何地方定義和存取;
常數一旦定義就不能被重新定義或取消定義;
常數的值只能是標量。
常數定義範例:
<?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>
以上是詳細介紹的php常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!