PHP常量 define 和const的區別

2022-09-03 10:24:08 字數 1080 閱讀 5427

常量,就是乙個用於儲存「不會(也不允許)變化的資料」的識別符號。

比如圓周率,在一定的應用場景中,就是乙個固定的值(人為規定為某個值)。

常量預設大小寫敏感。通常常量識別符號總是大寫的。

(1)define()函式定義常量。

define(『常量名』, 對應的常量值);

(2)const關鍵字定義常量。

const 常量名 = 對應的常量值;

在php5.3.0以後,可以使用const關鍵字在類定義的外部定義常量,先前版本const關鍵字只能在類(class)中使用。乙個常量一旦被定義,就不能再改變或取消定義。

常量只能包含標量資料(boolean、integer、float和string)。可以定義resource常量,但應盡量避免,因為會造成不可預料的結果。

可以簡單的通過指定其名字來獲得常量的值,與變數不同,不應該在常量的前面加上$符號。

如果常量名是動態的,也可以用函式constant()來獲取常量的值。用get_defined_contstants()可以獲得所有已定義的常量列表。

常量和變數的區別:

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

2、常量只能通過define()函式或const關鍵字定義,而不能通過賦值語句;

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

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

5、常量的值只能是標量。

const和define的區別:

使用const使得**簡單易讀,const本身就是乙個語言結構,而define是乙個函式。另外const在編譯時要比define快很多。

1、const用於類成員變數的定義,一經定義,不可修改。define不可以用於類成員變數的定義,可用於全域性常量;

2、const可在類中使用,define不能;

3、const不能再條件語句中定義常量;

4、const採用普通的常量名稱,define可以採用表示式作為名稱;

5、const只能接受靜態的標量,而define可以採用任何表示式;

6、const定義的常量時大小寫敏感,而define可以通過第三個引數(為true表示大小寫不敏感)來指定大小寫是否敏感。

php學習 define 常量

php 中常量的作用域 是超全域性,即不管你引用沒引用常量的宣告檔案,在全域性作用域還是函式作用域都可以訪問。這很好理解,比較好奇的是 php屬於解釋語言。呼叫時候才會編譯,那他如何找到那些未引用檔案中的常量呢?翻了半天 原來 php編譯器 真的是老實巴交的乙個個逐目錄逐檔案搜尋!所以使用常量的效率...

const和define的區別以及const的優點

1 就起作用的階段而言 define是在編譯的預處理階段起作用 在預處理階段進行替換 而const是在編譯執行的時候起作用 const修飾的唯讀變數是在編譯的時候確定其值 2 就起作用的方式而言 define只是簡單的字串替換,沒有型別檢查。而const有對應的型別,是要進行判斷的,可以避免一些低階...

PHP常量詳解 define和const的區別

常量是乙個簡單的識別符號。在指令碼執行期間該值不能改變 除了所謂的魔術常量,他們其實不是常量 常量預設大小寫敏感。通常常量識別符號總是大寫的。可以用define 函式來定義常量。在php5.3.0以後,可以使用const關鍵字在類定義的外部定義常量,先前版本const關鍵字只能在類 class 中使...