PHPの静的変数の使用例
クラステスト
{
パブリック静的関数 a(){}
パブリック関数 b(){}
}
$obj = 新しいテスト;
呼び出しコード
テスト::a();
$obj->a();
$obj->b();
例 静的変数を必要とする例を示します
クラス myobject {
パブリック静的 $mystaticvar = 0;
関数 mymethod() {
// :: はスコープ修飾演算子です
// $this スコープの代わりに self スコープを使用します
// $this はクラスの現在のインスタンスのみを表し、self:: はクラス自体を表すためです
self::$mystaticvar += 2;
echo self::$mystaticvar "
";
}
}
$instance1 = 新しい myobject();
$instance1->mymethod(); // 表示 2
$instance2 = 新しい myobject();
$instance2->mymethod(); // 4 を表示します
?>
クラス myobject {
パブリック静的 $myvar = 10;
}
エコー myobject::$myvar;
// 結果: 10
?>
この関数は $w3sky の値を 0 に設定し、呼び出されるたびに「0」を出力するため、あまり役に立ちません。この関数が終了すると変数 $w3sky は存在しないため、変数 $w3sky++ を 1 つ増やしても効果はありません。このカウント値を失わないカウント関数 (www.111cn.net) を作成するには、変数 $w3sky を静的として定義します。
Example 静的変数の使用例
関数テスト()
{
静的 $w3sky = 0;
エコー $w3sky;
$w3sky++;
}
?>
これで、test() 関数を呼び出すたびに $w3sky の値が出力され、1 ずつ増加します。
例を見てみましょう
クラスフー
{
パブリック静的 $my_static = 'foo';
パブリック関数 staticvalue() {
自分自身を返す::$my_static
}
}
クラスバーは foo を拡張します
{
パブリック関数 foostatic() {
親を返す::$my_static
}
}
foo::$my_static を印刷します。
$foo = 新しい foo();
$foo->staticvalue() を出力します
print $foo->my_static . "n"; // 未定義の "プロパティ" my_static
$foo::$my_static を印刷します。
$クラス名 = 'foo';
print $classname::$my_static . "n"; // php 5.3.0 以降では動的に呼び出すことができます
バー::$my_static を印刷します。
$bar = 新しいバー();
$bar->foostatic() を出力します
?>
上記では、PHP の静的変数の使用例を、関連コンテンツも含めて紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。