昨晚在 PTT 的 PHP 板回了一篇文章,提到 PHP 的內建常數;現在來分享一下,順便作個紀錄,方便日後查詢。
PHP 有不少實用的內建常數,方便我們寫程式時直接呼叫。
有興趣研究的人,可以看看這個網頁,或是用 get_defined_constants() 把內建常數全部倒進陣列,再用 var_dump() 或 print_r() 顯示。
下表列出一些我覺得常用的內建常數,範例值來自 64 位元版本的 FreeBSD ports 安裝之 PHP 5.3.2:
常數名稱 | 常數型態 | 範例值或說明 | 可用版本 |
PHP_VERSION | string | “5.3.2” | 無限制 |
PHP_MAJOR_VERSION | integer | 5 | 5.2.7+ |
PHP_MINOR_VERSION | integer | 3 | 5.2.7+ |
PHP_RELEASE_VERSION | integer | 2 | 5.2.7+ |
PHP_EXTRA_VERSION | string | “” | 5.2.7+ |
PHP_OS | string | “FreeBSD” | 無限制 |
PHP_PREFIX | string | “/usr/local” | 4.3.0+ |
PHP_BINDIR | string | “/usr/local/bin” | 無限制 |
PHP_LIBDIR | string | “/usr/local/lib/php” | 無限制 |
PHP_DATADIR | string | “${prefix}/share” | 無限制 |
PHP_SYSCONFDIR | string | “/usr/local/etc” | 無限制 |
PHP_LOCALSTATEDIR | string | “/usr/local/var” | 無限制 |
PHP_CONFIG_FILE_PATH | string | “/usr/local/etc” | 無限制 |
PHP_CONFIG_FILE_SCAN_DIR | string | “/usr/local/etc/php” | 無限制 |
PHP_SHLIB_SUFFIX | string | “so” | 4.3.0+ |
PHP_EOL | string | 此變數可用來判斷 “\n”、”\r”、”\r\n”(三個通吃,超好用)。 | 4.3.0+ |
PHP_MAXPATHLEN | integer | 1024 | 5.3.0+ |
PHP_INT_MAX | integer | 9223372036854775807 | 4.0.4+ 與 5.0.5+ |
DATE_COOKIE | string | “l, d-M-y H:i:s T” 輸出範例: Wednesday, 14-Jul-10 20:25:07 CST | 5.1.1+ |
DATE_ISO8601 | string | “Y-m-d\TH:i:sO” 輸出範例: 2010-07-14T20:26:18+0800 | 5.1.1+ |
DATE_RFC822 | string | “D, d M y H:i:s O” 輸出範例: Wed, 14 Jul 10 20:27:39 +0800 | 5.1.1+ |
DATE_RFC850 | string | “l, d-M-y H:i:s T” 輸出範例: Wednesday, 14-Jul-10 20:28:44 CST | 5.1.1+ |
DATE_RFC1036 | string | “D, d M y H:i:s O” 輸出範例: Wed, 14 Jul 10 20:29:40 +0800 | 5.1.1+ |
DATE_RFC1123 DATE_RSS | string | “D, d M Y H:i:s T” 輸出範例: Wed, 14 Jul 2010 20:31:51 CST | 5.1.1+ |
DATE_RFC2822 | string | “D, d M Y H:i:s O” 輸出範例: Wed, 14 Jul 2010 20:31:51 +0800 | 5.1.1+ |
DATE_RFC3339 DATE_ATOM DATE_W3C | string | “Y-m-d\TH:i:sP” 輸出範例: 2010-07-14T20:36:18+08:00 | 5.1.1+ |