php 內的靜態變數及靜態方法

2021-07-16 06:26:36 字數 567 閱讀 2349

這裡分析了php物件導向中static靜態屬性和靜態方法的呼叫。關於它們的呼叫(能不能呼叫,怎麼樣呼叫),需要弄明白了他們在記憶體中存放位置,這樣就非常容易理解了。靜態屬性、方法(包括靜態與非靜態)在記憶體中,只有乙個位置(而非靜態屬性,有多少例項化物件,就有多少個屬性)。

例項:header(「content-type:text/html;charset=utf-8」);

class human

public function say() } p

1=ne

whum

an()

; p1->say(); p1

−>te

ll()

;//對

象可以訪

問靜態方

法ech

o p1::na

me;/

/物件訪

問靜態屬

性。不能

這麼訪問

p1->name

//因為靜態屬性的記憶體位置不在物件裡

human::say();//錯。say()方法有th

is時出

錯;沒有

php靜態變數

在函式執行完後,變數值仍然儲存,並沒有變回初始設定的值0。function test test test test 結果 1 23可以發現a設定靜態變數之後,每次 a的值都儲存下來了。我剛開始還以為這個變數變成了全域性變數,測試發現這個變數 a依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...

PHP類的靜態方法和靜態變數

在php中,訪問類的方法 變數有兩種方法 1.建立物件 object new class 然後使用 呼叫 object attribute function,前提是該變數 方法可訪問。2.直接呼叫類方法 變數 class attribute function,無論是靜態 非靜態都可以。但是有前提條件...

靜態域 靜態變數 靜態方法

static關鍵字修飾的域 class employee 這裡employee物件有乙個例項域id和乙個靜態域nextid,每乙個employee物件都有乙個例項域id,但是所有的物件共享乙個靜態域nextid。假設有1000個employee物件,則有1000個例項域id,但是,只有乙個靜態域ne...