php 中的常量怎麼聲明?

來源:互聯網
上載者:User
常量我們可以理解為值不變的量。常量只要被定義了,在程式指令碼的其他任何地方都不能改變。

可以用 define() 函數來定義常量,在 PHP 5.3.0 以後,可以使用 const 關鍵字在類定義之外定義常量。一個常量一旦被定義,就不能再改變或者取消定義。

常量只能包含標量資料( boolean , integer , float 和 string )。可以定義 resource 常量,但應盡量避免,因為會造成不可預料的結果。

可以簡單的通過指定其名字來取得常量的值,與變數不同,不應該在常量前面加上 $ 符號。如果常量名是動態,也可以用函數 constant() 來擷取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。

Note: 常量和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。

如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字串調用它一樣(CONSTANT 對應 "CONSTANT")。此時將發出一個 E_NOTICE 級的錯誤。參見手冊中為什麼 $foo[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 defined() 函數。

Example #1 定義常量

<?phpdefine ( "CONSTANT" ,  "Hello world." );echo  CONSTANT ;  // outputs "Hello world."echo  Constant ;  // 輸出 "Constant" 並發出一個提示層級錯誤資訊?>

Example #2 使用關鍵字 const 定義常量

<?php// 以下代碼在 PHP 5.3.0 後可以正常工作const  CONSTANT  =  'Hello World' ;echo  CONSTANT ;?>

Note:

和使用 define() 來定義常量相反的是,使用 const 關鍵字定義常量必須處於最頂端的作用地區,因為用此方法是在編譯時間定義的。這就意味著不能在函數內,迴圈內以及 if 語句之內用 const 來定義常量。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.