PHP中靜態成員變數的用法

2021-07-27 21:53:20 字數 619 閱讀 5831

在php中,靜態成員變數是屬於類的,並不屬於某個特定的例項,所以我們可以直接通過類名來訪問靜態成員變數。例如我在型別a中定義了乙個公共的靜態成員變數$a,那麼我們可以在類外這樣訪問靜態成員變數$a,a::a。下面主要說下在php中靜態成員變數的用法:

首先,我在類a中定義乙個公共的靜態成員變數,**如下:

<?php

class a

}echo a::a;

上面**簡單的演示了在類內和類外如何使用靜態成員變數。在上面**中,在方法show裡面,用了兩種方式來訪問靜態成員變數。一種是self::$a,該方式是通過php中關鍵字self來訪問靜態變數,self關鍵字表示類自身的意思。接著self後面跟著一對某號::,某號後面是靜態變數名稱,這裡要注意的是靜態變數名稱前面一定要跟著$符號,要不然會報錯。另一種是通過類名來訪問,例如a::$a,這種方式只不過是把self關鍵字換成類名。

接著我們說下如何在類外訪問靜態變數,其實也很簡單,是直接通過類名的方式來訪問,例如a::a;這裡要注意的是,在類外訪問靜態變數時,靜態變數名稱前面不需要有$符號。

另外,這裡我們要記住一點,在php中靜態變數的訪問都是通過一對某號::來訪問的,不管是哪種方式。並且不能用物件或this來訪問靜態成員變數

PHP靜態成員變數和非靜態成員變數

php靜態成員變數和非靜態成員變數 突然在網上找到了一遍對php靜態變數和非靜態變數講解比較深入的一遍文章,特轉來分享下。資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態...

PHP靜態成員變數和非靜態成員變數

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類 中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配內 存,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中...

PHP靜態成員變數和非靜態成員變數詳解

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...