defined

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

definedПроверяет, существует ли константа с заданным именем

Описание

defined(string $constant_name): bool

Проверяет, определена ли константа с именем 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)

?>

Смотрите также

  • define() - Определяет именованную константу
  • constant() - Возвращает значение константы
  • get_defined_constants() - Возвращает ассоциативный массив с именами всех констант и их значений
  • function_exists() - Возвращает true, если указанная функция определена
  • Смотрите раздел Константы