php8.5
Home/ Manual/ misc / functions/ defined

defined

PHP function Edit on GitHub ✎

(PHP 4, PHP 5, PHP 7, PHP 8)

Checks whether a constant with the given name exists

Description

defined(string $constant_name): bool

Checks whether a constant with the given constant_name is defined.

This function works also with class constants and enum cases.

Note

If you want to see if a variable exists, use isset() as defined() only applies to constants. If you want to see if a function exists, use function_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

Checking Constants

php
<?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)

?>

Checking Enum Cases (as of PHP 8.1.0)

php
<?php

enum Suit
{
    case Hearts;
    case Diamonds;
    case Clubs;
    case Spades;
}

var_dump(defined('Suit::Hearts')); // bool(true)

?>

See Also

Source: reference/misc/functions/defined.xml · from the official PHP manual (php/doc-en)