SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
てるてる動画

【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)
......
......

関連するメモ

コメント