(PHP 4, PHP 5, PHP 7, PHP 8)
defined — Проверяет, существует ли константа с заданным именем
Проверяет, определена ли константа с именем constant_name
.
Функция также работает с константами классов и перечислениями.
Замечание:
Если нужно проверить, существует ли переменная, пользуются языковую конструкцию isset(), поскольку функция defined() проверяет только константы. Если нужно проверить, существовует ли функция, вызывают функцию function_exists().
constant_name
Имя константы.
Функция возвращает true
, если именованная константа, заданная в параметре
constant_name
, была определена, иначе 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 Проверка вариантов перечисления (начиная с PHP 8.1.0)
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(defined('Suit::Hearts')); // bool(true)
?>