[PHP 手冊] – 常數(語法)

[PHP 手冊] – 常數(語法)

[PHP 手冊] – 常數(語法)

 

資料來源: http://www.ithome.com/html/soft/72723.htm

code2html:http://tohtml.com/

 

 

可以用 define() 函數來定義常量,在 PHP 5.3.0 以後,可以使用 const 關鍵字在類定義之外定義常量。一個常量一旦被定義,就不能再改變或者取消定義。

 

常量只能包含標量資料(booleanintegerfloatstring)。可以定義 resource 常量,但應儘量避免,因為會造成不可預料的結果。

 

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

 

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

 

如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字串調用它一樣(CONSTANT 對應 “CONSTANT”)。此時將發出一個 E_NOTICE 級的錯誤。參見手冊中為什麼 $foo[bar] 是錯誤的(除非事先用 define()bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 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;
?>

 

Note:

 

和使用 define() 來定義常量相反的是,使用 const 關鍵字定義常量必須處於最頂端的作用區域,因為用此方法是在編譯時定義的。這就意味著不能在函數內,迴圈內以及 if 語句之內用 const 來定義常量。

 

參見類常量

 

 

 

 

 

 

 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *