php中的define()、const/constant()與魔術常量

首先我們談談函數constant()和定義常量的const與define()用法與主要事項吧!

constant()

  1. 函數返回一個常量值

const

  1. 定義常量時,必須要一個初始化的值,值不可在程序中更改。。
  2. 無需 $ 修飾符,常量名字母大寫。
  3. 可以在類裏面定義常量,屬於一個類的,可以被子類繼承。
  4. 不能在函數或者if判斷語句使用。
  • 語法:

    1.const x=10; 或者 const int x=10   //合法
    
    2.const x;  //非法(未初始)
    
    if(條件){
        const x = 666;
    }
    echo x;//報錯

define()

  1. 函數定義常量,值不可在程序中更改。
  2. 無需 $ 修飾符,對常量名字母大小寫不敏感。
  3. 不可以在類裏面定義常量。
  4. 函數能調用的地方都能使用。
  •  語法:

    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!

    拓展知識點:

  1. PHP的調用  ::   
  2. extends  繼承。
  3. 由static修飾的變量稱爲靜態變量,也是一個全局變量。
  4. 由static修飾的函數稱爲靜態成員函數,調用這個函數不會訪問或者修改任何對象(非static)數據成員。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章