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で追加)メソッド名は宣言されたとおりに返されます(大文字と小文字が区別されます)。