WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
PHP常量
導(dǎo)航: 上一頁(yè) | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
PHP常量是一個(gè)簡(jiǎn)單值的標(biāo)識(shí)符(名字)。如同其名稱所暗示的,在腳本執(zhí)行期間該值不能改變(除了所謂的魔術(shù)常量,它們其實(shí)不是常量)。常量默認(rèn)為大小寫(xiě)敏感。按照慣例常量標(biāo)識(shí)符總是大寫(xiě)的。
常量名和其它任何 PHP 標(biāo)簽遵循同樣的命名規(guī)則。合法的常量名以字母或下劃線開(kāi)始,后面跟著任何字母,數(shù)字或下劃線。用正則表達(dá)式是這樣表達(dá)的:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]注: 在這里,字母是 a-z,A-Z,以及從 127 到 255(0x7f-0xff)的 ASCII 字符。
和 superglobals 一樣,常量的范圍是全局的。不用管作用域就可以在腳本的任何地方訪問(wèn)常量。有關(guān)作用得更多信息請(qǐng)閱讀PHP變量作用域。
語(yǔ)法
可以用 define() 函數(shù)來(lái)定義常量。一個(gè)常量一旦被定義,就不能再改變或者取消定義。
常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。
可以簡(jiǎn)單的通過(guò)指定其名字來(lái)取得常量的值,不要在常量前面加上 $ 符號(hào)。如果常量名是動(dòng)態(tài)的,也可以用函數(shù) constant() 來(lái)讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。注: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個(gè)未定義的常量,PHP 假定你想要的是該常量本身的名字,如同你用字符串調(diào)用它一樣(CONSTANT 對(duì)應(yīng) "CONSTANT")。此時(shí)將發(fā)出一個(gè) E_NOTICE 級(jí)的錯(cuò)誤。參見(jiàn)手冊(cè)中為什么 $foo[bar] 是錯(cuò)誤的(除非你事先用 define() 將 bar 定義為一個(gè)常量)。如果你只想檢查是否定義了某常量,用 defined() 函數(shù)。
常量和變量不同:
- 常量前面沒(méi)有美元符號(hào)($);
- 常量只能用 define() 函數(shù)定義,而不能通過(guò)賦值語(yǔ)句;
- 常量可以不用理會(huì)變量范圍的規(guī)則而在任何地方定義和訪問(wèn);
- 常量一旦定義就不能被重新定義或者取消定義;
- 常量的值只能是標(biāo)量。
常量類型
PHP 向它運(yùn)行的任何腳本提供了大量的預(yù)定義常量。不過(guò)很多常量都是由不同的擴(kuò)展庫(kù)定義的,只有在加載了這些擴(kuò)展庫(kù)時(shí)才會(huì)出現(xiàn),或者動(dòng)態(tài)加載后,或者在編譯時(shí)已經(jīng)包括進(jìn)去了。
PHP 在常量中定義了以下一些常量。
__FILE__ 這個(gè)默認(rèn)常量是 PHP 程序文件名。若引用文件 (include 或 require)則在引用文件內(nèi)的該常量為引用文件名,而不是引用它的文件名。
__LINE__ 這個(gè)默認(rèn)常量是 PHP 程序行數(shù)。若引用文件 (include 或 require)則在引用文件內(nèi)的該常量為引用文件的行,而不是引用它的文件行。
PHP_VERSION 這個(gè)內(nèi)建常量是 PHP 程序的版本,如 '3.0.8-dev'。
PHP_OS 這個(gè)內(nèi)建常量指執(zhí)行 PHP 解析器的操作系統(tǒng)名稱,如 'Linux'。
TRUE 這個(gè)常量就是真值 (true)。
FALSE 這個(gè)常量就是偽值 (false)。
E_ERROR 這個(gè)常量指到最近的錯(cuò)誤處。
E_WARNING 這個(gè)常量指到最近的警告處。
E_PARSE 本常式為解析語(yǔ)法有潛在問(wèn)題處。
E_NOTICE 這個(gè)常式為發(fā)生不尋常但不一定是錯(cuò)誤處。例如存取一個(gè)不存在的變量。
這些 E_ 開(kāi)頭形式的常量,可以參考 error_reporting() 函數(shù),有更多的相關(guān)說(shuō)明。