【php】定義済みの定数の一覧を取得する
問題
今どんな定数が定義済みなのか知ることはできますか?
答え
get_defined_constants()関数で一覧を取得できる。
ためしにコマンドラインで実行してみる。
$ php -r "var_dump(get_defined_constants());"
結果は環境による。試した環境では1000個以上あった。
エラーレベルの定数から始まって、"TRUE"や"FALSE"といった意味があるのかよくわからないものや、各種extensionの定数など。
array(1185) {
["E_ERROR"]=>
int(1)
["E_RECOVERABLE_ERROR"]=>
int(4096)
["E_WARNING"]=>
int(2)
["E_PARSE"]=>
int(4)
["E_NOTICE"]=>
int(8)
["E_STRICT"]=>
int(2048)
["E_CORE_ERROR"]=>
int(16)
["E_CORE_WARNING"]=>
int(32)
["E_COMPILE_ERROR"]=>
int(64)
["E_COMPILE_WARNING"]=>
int(128)
["E_USER_ERROR"]=>
int(256)
["E_USER_WARNING"]=>
int(512)
["E_USER_NOTICE"]=>
int(1024)
["E_ALL"]=>
int(6143)
["TRUE"]=>
bool(true)
["FALSE"]=>
bool(false)
["NULL"]=>
NULL
["ZEND_THREAD_SAFE"]=>
bool(false)
["PHP_VERSION"]=>
string(5) "5.2.6"
["PHP_OS"]=>
string(5) "Linux"
["PHP_SAPI"]=>
string(3) "cli"
["DEFAULT_INCLUDE_PATH"]=>
string(20) ".:/usr/local/lib/php"
["PEAR_INSTALL_DIR"]=>
string(18) "/usr/local/lib/php"
["PEAR_EXTENSION_DIR"]=>
string(55) "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
["PHP_EXTENSION_DIR"]=>
string(55) "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
["PHP_PREFIX"]=>
string(10) "/usr/local"
["PHP_BINDIR"]=>
string(14) "/usr/local/bin"
["PHP_LIBDIR"]=>
string(18) "/usr/local/lib/php"
["PHP_DATADIR"]=>
string(20) "/usr/local/share/php"
["PHP_SYSCONFDIR"]=>
string(14) "/usr/local/etc"
["PHP_LOCALSTATEDIR"]=>
string(14) "/usr/local/var"
["PHP_CONFIG_FILE_PATH"]=>
string(14) "/usr/local/lib"
["PHP_CONFIG_FILE_SCAN_DIR"]=>
string(0) ""
["PHP_SHLIB_SUFFIX"]=>
string(2) "so"
["PHP_EOL"]=>
string(1) "
"
["PHP_INT_MAX"]=>
int(2147483647)
["PHP_INT_SIZE"]=>
int(4)
["PHP_OUTPUT_HANDLER_START"]=>
int(1)
["PHP_OUTPUT_HANDLER_CONT"]=>
int(2)
......
......