PHP 定数

定数は変数と似ていますが、定義されると後から変更したり未定義にしたりすることができません。

PHP定数

定数はシンプルな値のための識別子(名前)です。スクリプトの実行中に値を変更することはできません。

有効な定数名は、文字またはアンダースコアで始まります(定数名の前に$記号は付けません)。

Note

変数と異なり、定数はスクリプト全体で自動的にグローバルになります。

PHP定数の作成

定数を作成するには、define()関数を使用します。

文法

define(name, value, case-insensitive);

パラメーター

  • name: 定数の名前を指定します。
  • value: 定数の値を指定します。
  • case-insensitive: 定数名が大文字小文字を区別しないかどうかを指定します。デフォルトではfalseです。注意: PHP 7.3で非推奨になり、PHP 8.0ではfalseのみが受け入れられ、trueの場合、警告が発生します。

define("GREETING", "Welcome to コードラボJP!");
echo GREETING;

define("GREETING", "Welcome to コードラボJP!", true);
echo greeting;

PHPのconstキーワード

constキーワードを使用しても定数を作成することができます。

const MYCAR = "Volvo";
echo MYCAR;

constとdefine()の比較

  • constは常に大文字小文字を区別します。
  • define()には大文字小文字を区別しないオプションがあります。
  • constは関数の中やif文の中などのブロックスコープ内で定義することができません。
  • define()はブロックスコープ内で定義することができます。

PHPの定数配列

PHP7から、define()関数を使用して配列定数を作成することができます。

define("cars", [
  "Alfa Romeo",
  "BMW",
  "Toyota"
]);
echo cars[0];

定数はグローバル

定数は自動的にグローバルであり、スクリプト全体で使用することができます。

define("GREETING", "Welcome to コードラボJP!");
function myTest() {
  echo GREETING;
}
myTest();