get_defined_constants
(PHP 4 >= 4.1.0, PHP 5)
get_defined_constants — すべての定数の名前とその値を連想配列として返す
説明
array get_defined_constants
([ bool
$categorize = false
] )現在定義されている全ての定数の名前と値を返します。返される値には、 拡張モジュールにより作成された定数や 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 以外の値を指定すると定数を強制的にカテゴリ分類させてしまっていました。
|
| 5.0.0 |
パラメータ categorize が追加されました。
|
例
例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
)
参考
- defined() - 指定した名前の定数が存在するかどうかを調べる
- get_loaded_extensions() - コンパイル/ロードされている全てのモジュールの名前を配列として返す
- get_defined_functions() - 定義済みの全ての関数を配列で返す
- get_defined_vars() - 全ての定義済の変数を配列で返す