defined
(PHP 4, PHP 5, PHP 7, PHP 8)
defined — Checks whether a constant with the given name exists
Parameters
constant_name
-
The constant name.
Note:
defined() takes the name as an ordinary
string and does not resolve it against the current
namespace: the name
is looked up in the global namespace, so an unqualified name may
silently report on a different constant from the one the same bare
identifier would refer to.
To check whether a constant declared in a namespace is defined, the
namespace must be part of the name, as in
defined('My\Namespace\MYCONST') or
defined(__NAMESPACE__ . '\MYCONST').
Because the name is a plain string, aliases introduced by
use statements and the
namespace\ prefix are not applied to it.
In a double-quoted string the namespace separators must be escaped,
as in "My\\Namespace\\MYCONST".
The namespace part of the name is case-insensitive, the constant name
is not.
Return Values
Returns true if the named constant given by constant_name
has been defined, false otherwise.
Examples
Example #1 Checking Constants
<?php
/* Note the use of quotes, this is important. This example is checking
* if the string 'TEST' is the name of a constant named 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)
?>
Example #2 Checking Enum Cases (as of PHP 8.1.0)
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(defined('Suit::Hearts')); // bool(true)
?>