ホームページ  >  記事  >  バックエンド開発  >  PHP の静的変数とカスタム定数の違いの詳細な例

PHP の静的変数とカスタム定数の違いの詳細な例

伊谢尔伦
伊谢尔伦オリジナル
2017-06-29 10:36:461492ブラウズ

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

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