欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-25 21:49:50
...
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中static变量的使用方法的详细内容,更多请关注其它相关文章!

相关标签: static变量