標籤:手冊 file 魔術常量 ice 布爾 符號 dir 不同 span
義:用於儲存一個不會變化也不希望變化的資料的標示符。
常量命名規則,同變數,但習慣說,常常將常量的名稱使用“全大寫”形式。
定義形式
- 使用define()函數定義
- 使用形式:define(“常量名”, 常量值);
- 推薦常用名使用全大寫形
- 使用形式: const 常量名 = 常量值;
- 但const文法只能在“最頂層”的代碼域中使用(不能在大括弧中)
- 也即,const文法不能在函數中或條件陳述式中或其他表示一個“範圍”的語句中使用
使用形式:
(1)直接使用名字
(2)或使用constant()函數:constant(“常量名”)
變數和常量的區別:
- 定義形式不同:
- 使用形式不同:常量無需$符號
- 可變程度不同:常量的值不可以改變,常量也不可以銷毀
- 作用範圍不同:常量具有超全域範圍 (函數內外都可以直接使用)
- 可用類型不同:常量只能儲存標量類型:int,float,string,bool
判斷常量是否存在:defined()
判斷的結果為布爾值。
常用形式:if ( defined (某常量名) == false ){ .....這裡可以去定義該常量;}
實際上,可以這樣:
$result = defined (某常量名); //結果是true或false
使用一個未定義的常量(特殊情況):
使用一個未定義的常量會報一個錯誤(notice錯誤)——跟使用一個未定義的變數一樣——當然不推薦。
但是:
php,此時會得到一個意想不到的結果:似乎該常量存在,並該常量的值就是該名字。
魔術常量:
魔術常量其實是一種值會隨著一定的條件(環境)而變化的常量,形式和使用上是常量,但實際上,其值會改變。
- 比如:__DIR__(當前網頁檔案的所在目錄),__FILE__(當前網頁檔案),__LINE__(當前這一行)
- 魔術常量其實類似變數,其值隨著不同代碼而變化,不區分大小寫
- 參考手冊〉語言參考〉常量〉魔術常量
結果展示:
12)PHP,常量和魔術常量