常量與變數的區別

2021-08-20 20:13:56 字數 1174 閱讀 3412

通過前面一系列的學習了解了php的常量和變數,那麼你們知道php常量與變數有什麼關係和區別嗎?別急,下面就帶著大家看看php常量與變數的關係和區別

再來了解一下什麼是變數和常量

在程式執行的過程中,變數儲存的值可以隨時改變,而常量儲存的值是不可以改變的。

變數用於儲存臨時資料資訊。某一變數被定義的時候,系統會自動為該變數分配乙個儲存空間存放變數的值。我們可以在定義變數的時候對其賦值,如果需要改動變數的值,只需再次對其

進行賦值即可。對於那些臨時資料資訊或者處理過程,都可以存放在變數中。

常量用於儲存不經常改變的資料資訊。定義常量的時候可以對其賦值,在程式的整個執行期間內,這個賦值都有效且不可再次對該常量進行賦值操作。

我們先從php常量與變數的定義來看兩者有什麼不同:

常量:在php我們使用define()函式來定義常量 詳見:php常量的定義與使用例項詳解

變數:php中的所有變數都是用$開頭,然後後面跟上變數的名稱,在給變數賦值。 詳見:php變數的定義與使用例項詳解

從php常量與變數定義來看我們可以得到:

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

常量只能用 define() 函式定義,而不能通過賦值語句;

再看一下php常量與變數被定義後有什麼不同:

常量:常量被一旦定義就不能被重新定義或者取消定義。

變數:變數指的就是在程式執行過程中數值可以變化的量,它與我們所講的常量是相反的

這樣我們又能得到一下的結果:

常量只要被定義就不能改變,而變數是可以改變的。

再看一下常量與變數的值:

常量:常量的值只能是標量,即可以是 整型 浮點型 布林型 null 字串等,不能是 陣列 物件 資源,而變數可以是php所有的資料型別(php的八種資料型別)。

在看一下php常量與變數的作用域:

常量的作用域:常量無論在那定義,都可以直接呼叫,沒有作用域。

變數的作用域:變數定義在那個範圍就在那個範圍有效,如函式中定義的變數就只在函式中有效。

總結:通過上面的內容我們可以總結一下幾點來上面php常量與變數的區別:

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

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

3. 常量可以不用理會變數範圍的規則而在任何地方定義和訪問

4. 常量一旦定義就不能被重新定義或者取消定義

5. 常量的值只能是標量

傳常量與變數的區別

向建構函式或其他函式中傳入引數時,如果是執行時繫結,則傳常量與變數是有區別的。例如 include include include class con void say private const std string m name int main 這個的執行結果是 結果不一樣,可能是因為編譯器,...

C 常量與變數的區別

程式設計師面試或筆試,一般都會考到常量與變數的區別。1.常量的值不可以修改,任何嘗試修改常量的操作都會導致編譯錯誤。而變數可以通過賦值來改變。2.常量定義後就不可修改,所以常量在定義時就必須初始化。變數可以定義時暫時不進行初始化。常量初始化的時候必須直接賦值。const char a t corre...

區域性變數 與常量區別

如果乙個變數不是在類中定義,而是在某個語句塊或方法中,則該變數就是區域性變數。區域性變數的作用範圍 從定義該區域性變數開始,直到所處的塊結束。因為區域性變數的作用域特性,所以無法使用訪問許可權修飾符,包括static修飾符。相比於全域性變數,區域性變數沒有預設值,必須手動進行初始化賦值。區域性變數的...