首頁 >後端開發 >php教程 >理解php中static變數的使用方法

理解php中static變數的使用方法

不言
不言原創
2018-12-26 15:24:313367瀏覽

static這個概念在處理類別的時候是需要用到的,在類別裡有被稱為成員(屬性)的內容,如果不用static修飾符來定義承運,那麼就會用實例來管理,所以,這篇文章就來跟大家介紹php中static變數的使用方法。

理解php中static變數的使用方法

例如,我們定義了一個person類,在person類別中定義了name這個屬性

#然後我們從person類別實例化並建立一個名為「張三」的實例,這個時候就會有一個叫做張三的人。

接著我們再從person類別中實例化並創建一個名為「李四」的實例,這樣的話就會有一個叫李四的人。

我們可以看到每個實例都會管理一個name,在這種情況下,name是一個名為實例變數或局部變數的屬性。

與實例變數相對應的就稱為static變數或類別變量,這是在類別之間共同管理的項;因為不知道與實例有什麼不同,所以下面我們在person類別中進一步進行說明。

我們在person類別中定義一個新的family屬性,family與name不同,因此,上面的名字是青木的人,名字是山田的人,無論哪一個都是family。

在定義它之後使用類別時,使用New運算子建立一個實例。

下面我們來看static變數的寫法

// person类的定义
class Person{

  // 成员
  public $name;           // 名为name的实例变量
  public static $family;  //  family的static变量/类变量

我們來看一個具體的範例

讓我們實例化之前出現的person類別

// 定义person类
class Person {

  // 成员
  public $name;                     // 名为name的实例变量
  public static $family = ""ヒト科""; // family的static变量/类变量

}

// 名为张三的人
$aoki = new Person();
$aoki->name = ""张三"";

// 名为李四的人
$yamada = new Person();
$yamada->name = ""李四"";

// static变量可以直接从类中调用!
echo Person::$family.PHP_EOL;   

// 让我们检查一下每个实例!
echo $zhangsan->name.PHP_EOL;       // 张三
echo $zhangsan::$family.PHP_EOL;    
echo $lisi->name.PHP_EOL;     // 李四
echo $lisi::$family.PHP_EOL;  

// 更改了static变量,因为与类的所有实例共享,所以结果都改变了!
Person::$family = ""哺乳动物"";
echo Person::$family.PHP_EOL;    // 哺乳动物
echo $zhangsan::$family.PHP_EOL;    // 哺乳动物
echo $lisi::$family.PHP_EOL;  // 哺乳动物

這篇文章到這裡就全部結束了,更多精彩內容大家可以關注php中文網相關欄位教學! ! !

以上是理解php中static變數的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn