Rumah  >  Artikel  >  pembangunan bahagian belakang  >  理解php中static变量的使用方法

理解php中static变量的使用方法

不言
不言asal
2018-12-26 15:24:313342semak imbas

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中文网相关栏目教程!!!

Atas ialah kandungan terperinci 理解php中static变量的使用方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn