首先我們談談函數constant()和定義常量的const與define()用法與主要事項吧!
constant()
- 函數返回一個常量值
const
- 定義常量時,必須要一個初始化的值,值不可在程序中更改。。
- 無需 $ 修飾符,常量名字母大寫。
- 可以在類裏面定義常量,屬於一個類的,可以被子類繼承。
- 不能在函數或者if判斷語句使用。
-
語法:
1.const x=10; 或者 const int x=10 //合法 2.const x; //非法(未初始) if(條件){ const x = 666; } echo x;//報錯
define()
- 函數定義常量,值不可在程序中更改。
- 無需 $ 修飾符,對常量名字母大小寫不敏感。
- 不可以在類裏面定義常量。
- 函數能調用的地方都能使用。
-
語法:
define(name,value,case_insensitive) 1.name:規定的常量名、 2.value:規定的常量值、 3.case_insensitive:規定常量名對大小寫是否敏感。可選(設置爲 true,則對大小寫不敏感。默認是 false 對大小寫敏感) //敏感例子 define("PI", 3.14); echo constant("PI");//輸出 3.14 //不敏感例子 define("SCHOOL", "新東方",true); echo constant("school");//輸出 新東方
其次,在php中也會接觸魔術常量。
魔術常量:
__FILE__ //代表當前網頁文件的完整物理路徑
__DIR__ //代表當前網頁文件所在的文件夾路徑
__LINE__ //代表當前這個常量名所在的“行號”
拓展:
-
const類繼承:
class Fl{ const SAY= 'hello , php!'; } // extends繼承Fl class Zl extends Fl{ static function jC(){ // :: 調用 echo parent::SAY; } } Zl::jC(); //輸出 hello , php!
拓展知識點:
- PHP的調用 :: 。
- extends 繼承。
- 由static修飾的變量稱爲靜態變量,也是一個全局變量。
- 由static修飾的函數稱爲靜態成員函數,調用這個函數不會訪問或者修改任何對象(非static)數據成員。