指定した名前の定数が存在するかどうかを調べる
$constant_name
constant_name で指定した定数が定義されているかどうかを調べます。
constant_name
この関数は クラス定数 や 列挙型の case に対しても動作します。
注意: 変数が存在するかどうかを知りたければ、isset を利用してください。defined は 定数にしか適用できません。 関数が存在するかどうかを知りたければ、 function_exists を利用してください。
注意:
変数が存在するかどうかを知りたければ、isset を利用してください。defined は 定数にしか適用できません。 関数が存在するかどうかを知りたければ、 function_exists を利用してください。
定数名。
constant_name で指定した名前の定数が定義されている 場合に true、その他の場合にfalseを返します。
true
false
例1 定数のチェック
<?php/* 引用符の使い方に注意してください。これは重要です。この例では * 文字列 'TEST' が、定数 TEST の名前かどうかを調べています。*/if (defined('TEST')) { echo TEST;}interface bar { const test = 'foobar!';}class foo { const test = 'foobar!';}var_dump(defined('bar::test')); // bool(true)var_dump(defined('foo::test')); // bool(true)?>
例2 列挙型のcase をチェックする(PHP 8.1.0 以降)
<?phpenum Suit{ case Hearts; case Diamonds; case Clubs; case Spades;}var_dump(defined('Suit::Hearts')); // bool(true)?>