define
名前を指定して定数を定義する
&reftitle.description;
booldefine
stringconstant_name
mixedvalue
boolcase_insensitive&false;
実行時に、名前を指定して定数を定義します。
&reftitle.parameters;
constant_name
定数の名前。
予約語や無効な名前を使っていても、定数を define
できてしまいます。これらの値を取得するには、
constant 関数を使うこと(だけ)しかできません。
しかしながら、こういったことをするのは推奨されません。
value
定数の値。PHP 5 では、value は
スカラー値 (int、
float、string、bool あるいは
&null;) でなければいけません。PHP 7 では配列を使うこともできます。
リソース型の定数を定義することもできますが、
推奨できません。予期せぬ振る舞いをする可能性があります。
case_insensitive
&true; を指定すると、定数は大文字小文字を区別しないようになります。
デフォルトでは大文字小文字を区別します。つまり
CONSTANT と Constant
は別の値を表すわけです。
大文字小文字を区別しない定数を定義するのは、 PHP 7.3.0 以降では推奨されなくなりました。
PHP 8.0.0 以降では、&false; のみを受け入れます。
&true; を渡すと、警告が発生します。
大文字小文字を区別しないときは、定数は小文字で格納されます。
&reftitle.returnvalues;
&return.success;
&reftitle.changelog;
&Version;
&Description;
8.0.0
case_insensitive
に &true; を渡すと、
E_WARNING が発生するようになりました。
&false; を渡すことはまだ許可されています。
7.3.0
case_insensitive は非推奨になりました。
8.0.0 で削除される予定です。
7.0.0
array が使えるようになりました。
&reftitle.examples;
定数の定義
]]>
予約された名前を定数にする
マジック定数
と同じ名前の定数を定義できる 可能性 を示します。
しかしながら、結果として起きる振る舞いは明らかに混乱を招くため、
こんなことを実際にすることは推奨されません。
]]>
&example.outputs;
&reftitle.seealso;
defined
constant
定数の節