php static靜態屬性和靜態方法

2022-04-12 15:05:59 字數 860 閱讀 2047

一、靜態屬性

靜態屬性不可以由物件通過 -> 操作符來訪問。

靜態屬性只能被初始化為文字或常量,不能使用表示式。所以可以把靜態屬性初始化為整數或陣列,但不能初始化為另乙個變數或函式返回值,也不能指向乙個物件。

如何訪問靜態屬性呢?

在類內部:類名::$靜態屬性 或者 self::$靜態屬性

在類外部:類名::$靜態屬性 或者 物件例項::$靜態屬性

class

person

}$p1 = new

person();

echo $p1::$nums;

//物件例項可以這樣訪問靜態屬性

二、靜態方法

靜態方法用於操作靜態屬性。所以,靜態方法裡面不能操作非靜態屬性。

由於靜態方法不需要通過物件即可呼叫,所以偽變數$this在靜態方法中不

可用。如何訪問靜態方法呢?

在類內部:類名::靜態方法 或者 self::靜態方法

在類外部:類名::靜態方法 或者 物件例項->靜態方法

class

person

public

static

function getnum()

}$p1 = new

person();

$p1->addnum();

echo $p1::$nums;

//物件例項可以這樣訪問靜態屬性

person::getnum(); //

類可直接訪問靜態方法

$p1->getnum(); //

物件例項可以這樣訪問靜態方法

PHP static靜態區域性變數和靜態全域性變數總結

使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在每次使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被...

PHP static靜態區域性變數和靜態全域性變數總結

使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在沒此使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被...

PHP static靜態區域性變數和靜態全域性變數

使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在沒此使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被...