PHP常量詳解:define和const的區別


常量是一個簡單的標識符。在腳本執行期間該值不能改變(除了所謂的魔術常量,他們其實不是常量)。常量默認大小寫敏感。通常常量標識符總是大寫的。

一、常量和變量有如下不同

1、常量前面沒有美元符號($)

2、常量只能通過define()函數定義,而不能通過賦值語句

3、常量可以不用理會變量的作用域在任何地方定義和訪問

4、常量一旦定義就不能重新定義或取消定義

5、常量的值只能是標量(boolean、integer、float和string)

二、const和define的區別

1、const是一個語言結構;const定義的常量是大小寫敏感。而define是一個函數,可以通過第三個參數來指定是否區分大小寫。true表示大小寫不敏感,默認為false

define('PI', 3.14, true);

2、const簡單易讀,編譯時要比define快很多。

3、const可在類中使用,用於類成員常量定義(在php5.3.0以后,可以使用const關鍵字在類定義的外部定義常量),定義后不可修改,const在類內定義常量,並且const必須通過類名::變量名來進行訪問;define不能在類中使用,可用於全局變量

4、const是在編譯時定義,因此必須處於最頂端的作用區域,不能在函數,循環及if條件中使用;而define是函數,也就是能調用函數的地方都可以使用

5、const只能用普通的常量名,define常量名中可以有表達式

6、const定義的常量只能是靜態常量,define可以是任意表達式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM