12)PHP,常量和魔術常量

來源:互聯網
上載者:User

標籤:手冊   file   魔術常量   ice   布爾   符號   dir   不同   span   

義:用於儲存一個不會變化也不希望變化的資料的標示符。

常量命名規則,同變數,但習慣說,常常將常量的名稱使用“全大寫”形式。

定義形式
  • 使用define()函數定義
    • 使用形式:define(“常量名”, 常量值);
    • 推薦常用名使用全大寫形

 

   

  • 使用const文法定義

     

    • 使用形式: 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,常量和魔術常量

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.