ホームページ  >  記事  >  バックエンド開発  >  PHPで静的変数を使用するにはどうすればよいですか?静的変数の使い方を詳しく解説

PHPで静的変数を使用するにはどうすればよいですか?静的変数の使い方を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-30 11:30:112359ブラウズ

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 サイトの他の関連記事を参照してください。

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