PHP の変数スコープのもう 1 つの重要な機能は、静的 変数 (静的 変数) です。静的変数はローカル function ドメインにのみ存在し、プログラムの実行がこのスコープを離れるときに一度だけ初期化され、その値は消えず、最後の実行の結果が使用されます。
次の例を見てください:
<?php function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?>
この関数は $w3sky の値を 0 に設定し、呼び出されるたびに "0" を出力します。この関数が終了すると変数 $w3sky は存在しないため、変数 $w3sky++ を 1 つ増やしても効果はありません。このカウント値を失わないカウント関数を作成するには、変数 $w3sky を静的として定義します。
次のように:
<?php function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
この関数は $w3sky の値を出力し、Test() が呼び出されるたびに 1 を追加します。
静的変数は、再帰関数を処理する方法も提供します。再帰関数は、それ自体を呼び出すメソッドです。再帰関数を作成するときは、終了せずに無限に再帰する可能性があるため注意してください。必ず再帰を中止する方法を用意してください。次の単純な関数は、静的変数 $count を使用して再帰的に 10 までカウントし、いつ停止するかを決定します:
静的変数と再帰関数の例:
<?PHP function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?>
注: 静的変数は、上記の例のように宣言できます。宣言内のexpressionの結果を代入すると解析エラーとなります。
静的変数の宣言の例:
<?PHP function foo(){ static $int = 0;// correct static $int = 1+2; // wrong (as it is an expression) static $int = sqrt(121); // wrong (as it is an expression too) $int++; echo $int; } ?>
以上がPHPで静的変数を使用するにはどうすればよいですか?静的変数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。