PHP の静的グローバル変数と通常のグローバル変数の違いは何ですか?
for($i=1;$i<5;$i++) {
//$glo=1;
static $glo=1;
$glo++ ;
}
echo $glo;
?>
上記の例では、$glo はグローバルスコープであり、static キーワードがある場合とない場合では出力結果が異なることがわかります。静的グローバル変数を使用できますが、PHP マニュアルでは関数での静的変数の使用、クラスの静的メンバーのプロパティとメソッドについてのみ説明しています。インターネットで検索した情報は基本的に C、C++、JAVA の静的グローバル変数の説明であり、PHP に関するものはほとんどありません。これらの言語の静的変数が PHP と一致しているかどうかはわかりません。
現在、グローバル変数と静的変数はメモリの同じ領域に配置されることがわかっています。 PHPに静的グローバル変数の概念がある場合、それと通常のグローバル変数の違いは何ですか?誰か説明していただけますか?
-----解決策---------
違いはここです
static $glo=10;
echo $glo;//1
for($i=1;$i// echo $glo;
static $glo=1;
$glo++;
}
echo $glo;//5