PHP基礎(chǔ)之常量1——語(yǔ)法簡(jiǎn)介
可以用 define() 函數(shù)來(lái)定義常量,在 PHP 5.3.0 以后,可以使用 const 關(guān)鍵字在類定義之外定義常量。一個(gè)常量一旦被定義,就不能再改變或者取消定義。
常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。可以定義 resource 常量,但應(yīng)盡量避免,因?yàn)闀?huì)造成不可預(yù)料的結(jié)果。
可以簡(jiǎn)單的通過(guò)指定其名字來(lái)取得常量的值,與變量不同,不應(yīng)該在常量前面加上 $ 符號(hào)。如果常量名是動(dòng)態(tài)的,也可以用函數(shù) constant() 來(lái)獲取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
Note: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個(gè)未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調(diào)用它一樣(CONSTANT 對(duì)應(yīng) 'CONSTANT')。此時(shí)將發(fā)出一個(gè) E_NOTICE 級(jí)的錯(cuò)誤。如果只想檢查是否定義了某常量,用 defined() 函數(shù)。
常量和變量有如下不同:
常量前面沒(méi)有美元符號(hào)($);
常量只能用 define() 函數(shù)定義,而不能通過(guò)賦值語(yǔ)句;
常量可以不用理會(huì)變量的作用域而在任何地方定義和訪問(wèn);
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標(biāo)量。
Example #1 定義常量
<?php define('CONSTANT', 'Hello world.'); echo CONSTANT; // outputs 'Hello world.' echo Constant; // 輸出 'Constant' 并發(fā)出一個(gè)提示級(jí)別錯(cuò)誤信息?>
Example #2 使用關(guān)鍵字 const 定義常量
<?php // 以下代碼在 PHP 5.3.0 后可以正常工作 const CONSTANT = ’Hello World’; echo CONSTANT;?>
注意:
和使用 define() 來(lái)定義常量相反的是,使用 const 關(guān)鍵字定義常量必須處于最頂端的作用區(qū)域,因?yàn)橛么朔椒ㄊ窃诰幾g時(shí)定義的。這就意味著不能在函數(shù)內(nèi),循環(huán)內(nèi)以及 if 語(yǔ)句之內(nèi)用const 來(lái)定義常量。
相關(guān)文章:
1. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算2. Java實(shí)現(xiàn)UDP通信過(guò)程實(shí)例分析【服務(wù)器端與客戶端】3. JS圖片懶加載庫(kù)VueLazyLoad詳解4. Java PreparedStatement用法詳解5. Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題6. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)7. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟8. Java實(shí)現(xiàn)的迷宮游戲9. HTML <!DOCTYPE> 標(biāo)簽10. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝

網(wǎng)公網(wǎng)安備