PHP 速習チュートリアル

PHP 定数

1. PHPの定数 (PHP Constants)

コンスタント(Constants / 定数)はバリアブル(Variables / 変数)に似ていますが、一度定義(ディファイン)されると、その値を変更したり、定義を解除したりすることはできません。

PHPの定数は、define() ファンクション(Function)または const キーワードを使用して定義できます。
有効な定数名は文字またはアンダースコア(_)で始まり、定数名の前に $ 記号は付けません。

2. PHP define() 関数

define() ファンクションは、ランタイム(Run-time / 実行時)に定数を定義します。 このファンクションは常に定数をグローバルスコープ(Global scope)に定義し、if/else、ループ、ファンクションなどの条件付きブロックの内部で宣言することが可能です。ただし、クラス定数(Class constants)の定義には使用できません。

2.1 シンタックス (Syntax)

define(CONSTANT_NAME, value);

パラメータ(Parameters):

  • CONSTANT_NAME - 定数の名前を指定します(デフォルトでケースセンシティブです)。
  • value - 定数の値を指定します。

2.2 使用例:define() による定数の作成

// "GREETING" という名前の定数を作成
define("GREETING", "Volardev.comへようこそ!");
echo GREETING;

また、以下のようにファンクション内部で定数を宣言し、外部でそれを出力することも可能です。

2.3 使用例:ファンクション内での宣言

function myTest() {
  define("GREETING", "Volardev.comへようこそ!");
}

myTest();
echo GREETING;

3. PHP const キーワード

const キーワードは、コンパイル時(Compile-time)に定数を定義します。
const で定義される定数はコンパイル時に処理されるため、トップレベルスコープで宣言する必要があります。つまり、ファンクション、ループ、if/else ステートメント、または try/catch ブロックの内部で宣言することはできません。

一方で、constクラス定数を定義する際に使用されます。
const による定数名も、大文字・小文字を区別するケースセンシティブ(Case-sensitive)です。

3.1 シンタックス (Syntax)

const CONSTANT_NAME = value;

3.2 使用例:const による定数の作成

const GREETING = "Volardev.comへようこそ!";
echo GREETING;

4. PHP アレイ定数 (Array Constants)

PHPでは、define() または const を使用してアレイ(Array / 配列)定数を作成することも可能です。

4.1 使用例:アレイ定数の作成

// define() を使用した場合
define("CARS", array("Volvo", "BMW", "Toyota"));
echo CARS[0];

// const を使用した場合
const ANIMALS = array("Cat", "Dog", "Horse");
echo ANIMALS[1];