3. 常量

基本介紹

常量是一個不能改變值且沒有 $ 美元符號的變量,通常我們會將常量的命名用大寫表示(嚴格區分大小寫),但它在作用域上和普通變量有所不同,它屬于 超全局變量,一旦定義了,在任何地方都能使用。

常量的值應該是標量數據類型(BooleanIntegerFloatString),盡量避免不要使用其他類型的值。
常量一旦定義,不能對其進行賦值,且不能重新定義或是取消定義。
常量可以在任意地方定義和訪問。
使用const的方式定義常量,不能在if、循環、函數中定義。

// 普通常量
define('MIN_SIZE', 10);
define('MAX_SIZE', 100);
echo MIN_SIZE. ' : ' . MAX_SIZE . '<br />';

// 第二種方式
const MIN_LENGTH = 100;
const MAX_LENGTH = 1000;
echo MIN_LENGTH. ' : ' . MAX_LENGTH . '<br />';

// 動態名常量定義
$name = 'TEMP';
define($name, 'hello world');
// 動態名常量獲取
echo constant($name) . ' : ' . TEMP . '<br />';

// 檢查常量是否已經定義
echo defined($name) . '<br />';  // true
// 普通常量
define('MIN_SIZE', 10);
define('MAX_SIZE', 100);
// 定義類
class Example{
    // 類的常量
    const MIN_SIZE = 20;
    const MAX_SIZE = 200;
    // 測試方法
    static function func(){
        // 20 : 100
        echo self::MIN_SIZE . " : " . MAX_SIZE;
    }
}
// 調用測試
Example::func();

預定義常量

PHP給網站內置了很多的預定義常量,這些常量要么來自PHP內核,要么來之各種擴展。
通過get_defined_constants()函數可以獲取當前已經定義的所有常量。

預定義常量http://php.net/manual/zh/reserved.constants.php

有幾個經常使用但卻又不太一樣的常量,它們稱之為 魔法常量,從本質上來說,它們并不是常量,因為它們的值會改變。

名稱 說明
__LINE__ 獲取當前所在文件中的行號
__FILE__ 獲取當前文件的完整路徑
__DIR__ 獲取當前文件所在的目錄
__FUNCTION__ 獲取當前函數的名稱,如functionName
__CLASS__ 獲取當前類名
__TRAIT__ 獲取當前Trait的名稱
__METHOD__ 獲取類的方法名稱,如Class::functionName
__NAMESPACE__ 獲取當前命名空間的名稱
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、php可以做什么 php是一種可以在服務器端運行的編程語言,可以運行在Web服務器端。 php是一門后臺編程語...
    空谷悠閱讀 3,142評論 4 97
  • 本節討論的是字面值常量,而不是const修飾的常量。 類似于1234的整數常量屬于int類型,因為默認是int類型...
    dongwenbo閱讀 392評論 0 2
  • 1.常量的定義 常量的值在編譯時就已經確認 常量的定義格式與變量基本相同 等號右側必須是常量或者常量表達式 常量表...
    MarksGui閱讀 211評論 0 0
  • PHP中字符串可以使用哪三種定義方法以及各自的區別是什么? 思考考官想考什么PHP中字符串定義方法以及各自的區別 ...
    followyounger1閱讀 516評論 0 0
  • PHP 學習目錄 ├─PHP視頻教程 1 LAMP網站構建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創業閱讀 16,186評論 29 417