溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中const和static變量有哪些區(qū)別

發(fā)布時間:2021-04-01 09:35:08 來源:億速云 閱讀:185 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)php中const和static變量有哪些區(qū)別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

區(qū)別:const一旦被定義不可更改,static修飾的變量是可以被更改的。const只可以修飾類的屬性,不能修飾類的方法;static可以修飾屬性,也可以修飾方法。

PHP中 static 與 const 變量的區(qū)別

static變量

1.static靜態(tài)變量 我們可以對于其 進行修改,但是const變量我們不能對其進行修改
2.static 靜態(tài)變量可以對其修改權(quán)限
3.和java類似,在類的內(nèi)部,satic 修飾的方法的體內(nèi)無法訪問類的非staic成員變量,只能訪問類的staic變量和類的const常量

class staticTest1 {
    var $var1 = "hello";
    public static $var2 = "hellostatic"; //public, protected, private
    const var3 = "helloconst";
    public static function displayDifferent(){
###        echo $this->$var1."<br>";//不能訪問普通變量
        echo staticTest1::$var2."<br>";//可以訪問類的靜態(tài)變量
        echo self::var3."<br>";//不能用$this::var3, self::var3代表當(dāng)前類,$this::var3代表當(dāng)前對象
    }
}

//可以用兩種方法調(diào)用方法

//第一種,通過對象調(diào)用
$test1 = new staticTest1();
echo $test1->displayDifferent();
echo "<br>";
//第二種,通過類調(diào)用
echo staticTest1::displayDifferent();
echo "<br>";

順便一提,”::” 對于對象而言只能訪問靜態(tài)變量和方法,還有self只能用”::”來調(diào)用當(dāng)前類的成員

const變量

1.const變量只能修飾成員變量,不能修飾方法
2.不需要加修飾權(quán)限
3.因為const變量屬于整個類的,不屬于某個對象,所以不能通過對象來訪問,像$this->constvariable就不允許

class constTest1 {
    var $var1 = "welcome";
//    public const pi = 3.14;//不能加修飾權(quán)限
    const pi = 3.14;
//    const function displayDifferent() {//function前不能加const
//        
//    }
   function displayDifferent() {
        echo self::pi."<br>";
//        echo $this::pi."<br>"; 
    }
    static function displayDifferent2() {
        echo self::pi."<br>";
//        echo $this::pi."<br>"; //這句話不行。
    }
}

兩種方法調(diào)用

//第一種,通過對象調(diào)用
$test2 = new constTest1();
echo $test2->displayDifferent();
//第二種,通過類調(diào)用
//echo constTest1::displayDifferent();//對象名用"::"只能訪問靜態(tài)變量和方法,所以這個不行

echo constTest1::displayDifferent2();

關(guān)于“php中const和static變量有哪些區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI