ホームページ >バックエンド開発 >PHPチュートリアル >PHP 定数、定数の構文解析
この記事では主に PHP 定数と定数の文法解析について紹介します。興味のある方はぜひ参考にしてください。
1. 定数
定数は、単純な値の識別子(名前)です。名前が示すように、スクリプトの実行中に値を変更することはできません (定数ではない、いわゆるマジック定数を除く)。定数はデフォルトで大文字と小文字が区別されます。慣例により、定数識別子は常に大文字です。
定数名は、他の PHP タグと同じ命名規則に従います。有効な定数名は文字またはアンダースコアで始まり、その後に任意の文字、数字、またはアンダースコアが続きます。 正規表現は次のように表されます:
[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]* (注: ここでの文字は a-z、A-Z、ASCII です) 127 から 255 までの文字 (0x7f-0xff))
スーパー グローバルと同様に、定数のスコープはグローバルです。定数は、スコープに関係なく、スクリプト内のどこからでもアクセスできます。関数の詳細については、変数スコープのマニュアルを参照してください。
2. 構文
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. ?>
4. 事前定義された定数PHP は、実行するスクリプトに多数の事前定義された定数を提供します。ただし、多くの定数はさまざまな拡張ライブラリによって定義されており、これらの拡張ライブラリが動的にロードされるか、コンパイル時に組み込まれる場合にのみ表示されます。 使用される場所に応じて変化する魔法の定数が 4 つあります。たとえば、__LINE__ の値は、スクリプト内の行によって異なります。これらの特別な定数は大文字と小文字が区別されず、次のとおりです:
いくつかの PHP "マジック定数" __LINE__ ファイル内の現在の行番号。 __FILE__ ファイルの絶対パスとファイル名。
__FUNCTION__ 関数名 (PHP 4.3.0 で新しく追加されました)。
__CLASS__ クラスの名前 (PHP 4.3.0 で新しく追加されました)。
__METHOD__ クラスのメソッド名 (これは PHP 5.0.0 の新機能)。
PHP の Restful API でエラー プロンプトの戻り値を実装する方法
PHP に基づいて Web サイトのログイン ホーム ページの画像検証コードを描画する方法
PHP 構築における継承におけるデストラクター メソッドのパフォーマンス方法を写真と文章で詳しく解説
以上がPHP 定数、定数の構文解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。