static这个概念在处理类的时候是需要用到的,在类里有被称为成员(属性)的内容,如果不用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中文网其他相关文章!