ホームページ >バックエンド開発 >PHPチュートリアル >PHP の静的変数とカスタム定数の違いの詳細な例
⚑ 静的変数の宣言と使い方
⚑ カスタム定数の使い方
静的変数とは何ですか?
静的変数は、staticで宣言された変数を指します。このタイプの変数とローカル変数の違いは、静的変数がそのスコープを離れても、その値は自動的に消滅せず、次に再び使用されたときにも存在し続けることです。使用すると最新の値を保持できます。
以下の例:
<?php function add() { static $i=0; $i++; echo $i; } add(); echo " "; add(); ?>
このプログラムでは、主に functionadd() が定義されており、その後 add() が 2 回呼び出されます。
ローカル変数を使用してこのコードを分割する場合、出力は両方とも 1 になるはずです。しかし、実際の出力は 1 と 2 です。
これは、変数 i が宣言時に static という修飾子を付けて追加されたためです。つまり、i 変数は add() 関数内の静的変数であり、呼び出されたときに自身の値を記憶する機能を持っています。初回 add をすると i が自己インクリメントで 1 になります。このとき、0 ではなく 1 になったと記憶しています。再度 add を呼び出すと、i が再び増加して 1 から 2 になります。このことから、静的変数の特徴がわかります。
カスタム定数とは何ですか?
いわゆるカスタム定数は、文字識別子を使用して別のオブジェクトを表すことを指します。このオブジェクトには、数値、文字列、ブール値などが使用できます。その定義は変数と多くの類似点があります。唯一の違いは、変数の値はプログラムの実行中に任意に変更できますが、カスタム定数を定義すると、プログラムの実行中には変更できなくなることです。
定義は次のとおりです:
define("YEAR","2012");
将来、プログラム内で YEAR が出現する箇所には、define キーワードを使用します。一般に、定数を定義する場合、定数名には大文字が使用されます。
例:
<?php define("YEAR","2012"); define("MONTH","12"); define("DATE","21"); define("THING","Doomsday"); echo YEAR."-".MONTH."-".DATE." ".THING; ?>
このプログラムでは、YEAR、MONTH、DATE、THING という 4 つの定数が定義されています。これらの対応する値は、echo を使用して接続すると、次のようになります。の場合、変数との違いは「$」を使用しないことです。
その操作の結果は次のとおりです: 2012-12-21 終末。
以上がPHP の静的変数とカスタム定数の違いの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。