ホームページ >バックエンド開発 >PHPチュートリアル >PHPでの静的変数の基本的な使い方

PHPでの静的変数の基本的な使い方

怪我咯
怪我咯オリジナル
2017-07-16 11:24:162112ブラウズ

staticは、staticobjectまたはstatic変数を定義することです。この記事の関連する例を読んだ後、staticで定義された変数またはクラスメソッドの特性を理解します。

1.

$object = new Class() を作成し、変数/メソッドがアクセス可能な場合は、「->」を使用して $object->attribute/function を呼び出します。 2. 静的か非静的かに関係なく、クラスのメソッド/変数: class::attribute/function を直接呼び出します。ただし、前提条件があります: A. 変数の場合、その変数にアクセスできる必要があります。
B. メソッドの場合、アクセス可能であることに加えて、次の条件も満たす必要があります。
b1) 静的メソッドの場合、特別な条件はありません。
b2) 非静的メソッドの場合。 、メソッド内で $this が使用されていない、つまり非静的変数/メソッドの呼び出しがないように変更する必要があります。もちろん、静的変数/メソッドの呼び出しには問題ありません。

次に、$object->… の使用と class::…:

1 の使用の違いを見てみましょう。 $object->… を使用する場合、オブジェクトを作成するために

コンストラクター
を実行する必要があります。 2. class::... を使用して、コンストラクターを実行せずに静的メソッド/変数を呼び出してオブジェクトを作成します。 3. class::... を使用して、コンストラクターを実行せずに非静的メソッド/変数を呼び出します。

すると、2と3は同じなので、静的メソッド/変数の存在意義は何でしょうか?

static static

クラス メンバーまたはメソッドを static として宣言すると、クラスをインスタンス化せずに直接アクセスできます。オブジェクトを介して静的メンバー (静的メソッドを除く) にアクセスすることはできません。静的メンバーはクラスに属し、どのオブジェクト インスタンスにも属しませんが、クラスのオブジェクト インスタンスは共有できます。

コードは次のとおりです:

class Child{ 

public $name; 
//这里定义并初始化一个静态变量 $nums 
public static $nums=0; 
function construct($name){ 

$this->name=$name; 
} 

public function join_game(){ 

//self::$nums 使用静态变量 
self::$nums+=1; 

echo $this->name."加入堆雪人游戏"; 

} 


} 

//创建三个小孩 

$child1=new Child("李逵"); 
$child1->join_game(); 
$child2=new Child("张飞"); 
$child2->join_game(); 
$child3=new Child("唐僧"); 
$child3->join_game(); 

//看看有多少人玩游戏 
echo "<br/> 有这".Child::$nums;

以上がPHPでの静的変数の基本的な使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。