定数の概要
定数は、単純な値の識別子(名前)です。名前が示すように、スクリプトの実行中に値を変更することはできません (実際には定数ではない、いわゆる マジック定数 を除く)。定数はデフォルトで大文字と小文字が区別されます。慣例により、定数識別子は常に大文字です。
定数名は、他の PHP タグと同じ命名規則に従います。有効な定数名は文字またはアンダースコアで始まり、その後に任意の文字、数字、またはアンダースコアが続きます。 正規表現を使用すると、次のように表現されます:
[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]* (注: ここで、文字は a-z、A-Z 、および 127 から 255 までの ASCII 文字 (0x7f-0xff))
スーパー グローバルと同様に、定数のスコープはグローバルです。定数は、スコープに関係なく、スクリプト内のどこからでもアクセスできます。この関数の詳細については、マニュアルの変数スコープを参照してください。
構文
define() 関数を使用して定数を定義できます。定数を一度定義すると、プログラムの実行中に変更したり定義を解除したりすることはできません。
定数にはスカラー データ (ブール、整数、浮動小数点、文字列) のみを含めることができます。
定数の名前を指定するだけで定数の値を取得できます。定数の前に $ 記号を追加しないでください。定数名が動的である場合は、関数 constant() を使用して定数の値を読み取ることもできます。 get_define_constants() を使用して、定義されているすべての定数のリストを取得します。
注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。
未定義の定数が使用される場合、PHP は文字列で呼び出しているかのように、定数自体の名前が必要であると想定します (CONSTANT は「CONSTANT」に対応します)。 E_NOTICE レベルのエラーが発行されます。 $foo[bar] が間違っている理由についてはマニュアルを参照してください (事前に define() で bar を定数として定義していない場合)。特定の定数が定義されているかどうかだけを確認したい場合は、define() 関数を使用します。
3. 定数と変数の違い
定数の前にドル記号 ($) はありません。
定数は代入ステートメントではなく、define() 関数でのみ定義できます。変数スコープの規則に関係なく使用され、どこでも定義およびアクセスできます。
一度定義された定数は、再定義または未定義にすることはできません。
定数の値はスカラーのみです。
定数の定義例:
<?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>
以上がPHP 定数の詳細の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。