PHP-定数タイプ
定数は、単純な値の名前または識別子です。スクリプトの実行中に定数値を変更することはできません。デフォルトでは、定数では大文字と小文字が区別されます。慣例により、定数識別子は常に大文字です。定数名は、文字またはアンダースコアで始まり、その後に任意の数の文字、数字、またはアンダースコアが続きます。定数を定義した場合、それを変更したり未定義にしたりすることはできません。
定数を定義するには、define()関数を使用し、定数の値を取得するには、その名前を指定するだけです。変数とは異なり、$の定数は必要ありません。定数の名前を動的に取得したい場合は、関数constant()を使用して定数の値を読み取ることもできます。
定数()関数
名前が示すように、この関数は定数の値を返します。
これは、定数の値を取得したいが、その名前がわからない場合、つまり変数に格納されているか、関数によって返される場合に役立ちます。
constant()の例
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
定数に含めることができるのは、スカラーデータ(ブール、整数、浮動小数点数、および文字列)のみです。
定数と変数の違いは
定数の前にドル記号($)を書く必要はありませんが、変数のようにドル記号を書く必要があります。
定数は単純な割り当てでは定義できません。define()関数を使用してのみ定義できます。
定数は、変数のスコープ規則に関係なく、どこでも定義およびアクセスできます。
定数が設定されると、再定義または未定義にすることはできません。
有効および無効な定数名
// Valid constant names
define("ONE", "first thing");
define("TWO2", "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");
// Invalid constant names
define("2TWO", "second thing");
PHPマジック定数
PHPは、実行するスクリプトに多数の事前定義された定数を提供します。
使用場所に応じて変化する5つの魔法の定数があります。たとえば、__ LINE__の値は、スクリプトで使用されている行によって異なります。これらの特殊定数は大文字と小文字を区別せず、次のとおりです。
いくつかの「魔法の」PHP定数を以下に示します-
シニア番号 | 名前と説明 |
---|---|
1 | __LINE__ ファイルの現在の行番号。 |
2 | __FILE__ ファイルのフルパスとファイル名。インクルード内で使用される場合、インクルードされたファイルの名前が返されます。PHP 4.0.2以降、__FILE__ 常に絶対パスが含まれていますが、古いバージョンでは、状況によっては相対パスが含まれていました。 |
3 | __FUNCTION__ 関数名。(PHP 4.3.0で追加)PHP 5以降、この定数は宣言されたとおりの関数名を返します(大文字と小文字が区別されます)。PHP 4では、その値は常に小文字になります。 |
4 | __CLASS__ クラス名。(PHP 4.3.0で追加)PHP 5以降、この定数は宣言されたとおりのクラス名を返します(大文字と小文字が区別されます)。PHP 4では、その値は常に小文字になります。 |
5 | __METHOD__ クラスメソッド名。(PHP 5.0.0で追加)メソッド名は宣言されたとおりに返されます(大文字と小文字が区別されます)。 |