PHP基礎之常量1——語法簡介
可以用 define() 函數來定義常量,在 PHP 5.3.0 以后,可以使用 const 關鍵字在類定義之外定義常量。一個常量一旦被定義,就不能再改變或者取消定義。
常量只能包含標量數據(boolean,integer,float 和 string)。可以定義 resource 常量,但應盡量避免,因為會造成不可預料的結果。
可以簡單的通過指定其名字來取得常量的值,與變量不同,不應該在常量前面加上 $ 符號。如果常量名是動態的,也可以用函數 constant() 來獲取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
Note: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調用它一樣(CONSTANT 對應 'CONSTANT')。此時將發出一個 E_NOTICE 級的錯誤。如果只想檢查是否定義了某常量,用 defined() 函數。
常量和變量有如下不同:
常量前面沒有美元符號($);
常量只能用 define() 函數定義,而不能通過賦值語句;
常量可以不用理會變量的作用域而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標量。
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;?>
注意:
和使用 define() 來定義常量相反的是,使用 const 關鍵字定義常量必須處于最頂端的作用區域,因為用此方法是在編譯時定義的。這就意味著不能在函數內,循環內以及 if 語句之內用const 來定義常量。
相關文章: