【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) ...... ......
コメント