通常の変数: 関数の実行後に自動的に破棄されます;
静的変数: 破棄されず、最後の値が保持されます
おすすめマニュアル : php 完全独学マニュアル
変数の前に static を付けると静的変数 (static 変数) になります。 (推奨学習: PHP プログラミングの入門から習熟まで )
静的グローバル変数と通常のグローバル変数の違い: 静的グローバル変数は、他のファイルで参照されないように 1 回だけ初期化されます。
Static は、public、protected、および private の 3 つの属性形式とは何の関係もありません。これらは並列ではありません。
public、protected、および private も設定できます。 to static
public static $a; private static $b;
静的変数には次の特性があります:
関数内で静的変数が定義されると、この変数は次回から使用されません。関数が終了した場合でも呼び出され、最後に呼び出したときの残りの値が使用されます。
また、変数は関数終了時には存在し続けませんが、関数外では使用できません。
おすすめの関連記事:
1.php の静的変数が破棄されるタイミング
2.PHP の静的変数とグローバル変数の違いは何ですか?
関連ビデオの推奨事項:
1.Dugu Jiijian (4)_PHP ビデオ チュートリアル
したがって、静的変数の適用タイミングは次のとおりです。
関数が複数回呼び出され、特定の変数の値を呼び出し間で保持する必要がある場合は、静的ローカル変数を検討できます。
グローバル変数を使用して上記の目的を達成することもできますが、グローバル変数は予期しない副作用を引き起こす場合があるため、ローカル静的変数を使用することをお勧めします。
静的属性の基本的な機能は、通常の属性とは異なり、静的属性は前の値を記憶することです。例:
function a() { $a = 1; $a += 1; echo $a; } //然后连续3次调用这个函数测试下 a(); a(); a(); 上面代码会输出 2 2 2 改成静态属性: function a() { static $a = 1; $a += 1; echo $a; } //然后连续3次调用这个函数测试下 a(); a(); a();
上記の出力は 2 3 4
Forクラス内で定義された静的変数。簡単に言うと、クラスの静的メンバーをインスタンス化せずに直接使用できます。
以上がPHPの静的変数と変数の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。