(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
get_defined_constants — 返回所有常量的关联数组,键是常量名,值是常量值
$categorize = false): array返回当前所有已定义的常量名和值。 这包含 define() 函数所创建的,也包含了所有扩展所创建的。
categorize让此函数返回一个多维数组,分类为第一维的键名,常量和它们的值位于第二维。
<?php
define("MY_CONSTANT", 1);
print_r(get_defined_constants(true));
?>
以上例程的输出类似于:
Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )
    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )
    [user] => Array
        (
            [MY_CONSTANT] => 1
        )
)
返回的数组为 常量名 => 常量值,也可以按注册变量的扩展名称来分组。
| 版本 | 说明 | 
|---|---|
| 5.3.1 | 仅作用于 Windows:内核常量归类到 Core,之前是mhash。 | 
| 5.3.0 | 内核常量归类为 Core,之前是internal。在 Windows 上,内核常量归类到mhash。 | 
| 5.2.11 | categorize参数现在可以合适得被处理。
        在此之前,categorize被解释为!is_null($categorize),导致任何非null的值会强制常量分类。 | 
示例 #1 get_defined_constants() 例子
<?php
print_r(get_defined_constants());
?>
以上例程的输出类似于:
Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)