# defined

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

defined — 检查给定名称的常量是否存在

### 说明

defined(string `$constant_name`): bool

检查给定 `constant_name` 的常量是否已定义。

此函数也可以跟类常量和 Enum 枚举 一起工作。

> 注意:

> 如果你要检查一个变量是否存在，请使用 isset()。 defined() 函数仅对 常量 有效。如果你要检测某个函数是否存在，使用 function_exists()。

### 参数

`constant_name`

  常量的名称。

### 返回值

如果名称 `constant_name` 的常量已定义，返回 `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 检测 Enum Cases（自 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
- 关于常量的章节

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open