クラスを扱う際にはstaticの概念を使う必要があります クラスにはメンバー(プロパティ)と呼ばれる内容があります static修飾子で定義されていない場合 Ifそこでこの記事では、PHP で静的変数を使用する方法を紹介します。
たとえば、person クラスを定義し、person クラスの name 属性を定義します。
次に、「Zhang」という名前のインスタンスをインスタンス化して作成します。サン」、この時に張三という人が出てきます。
次に、person クラスから「李思」という名前のインスタンスをインスタンス化して作成します。これにより、Li Si という名前の人が存在します。
各インスタンスが名前を管理していることがわかりますが、この場合、名前はインスタンス変数またはローカル変数という名前のプロパティです。
インスタンス変数に相当するものを静的変数またはクラス変数といいますが、これはクラス間で共同管理するものですが、インスタンスとの違いがわからないので、以下のpersonクラスで進めていきます。説明します。
人物クラスに家族属性を定義します。家族と名前は異なります。したがって、青木という名前の人も山田という名前の人も、どちらが家族であっても、家族となります。
クラスを定義した後に使用する場合は、New 演算子を使用してインスタンスを作成します。
静的変数の書き方を見てみましょう
// person类的定义 class Person{ // 成员 public $name; // 名为name的实例变量 public static $family; // family的static变量/类变量
// 定义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 中国語 Web サイトの他の関連記事を参照してください。