PHP基礎(chǔ)之常量1——語(yǔ)法簡(jiǎn)介
可以用 define() 函數(shù)來(lái)定義常量,在 PHP 5.3.0 以后,可以使用 const 關(guān)鍵字在類(lèi)定義之外定義常量。一個(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ì)變量的作用域而在任何地方定義和訪(fǎng)問(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. IntelliJ IDEA導(dǎo)入項(xiàng)目的方法2. vue實(shí)現(xiàn)視頻上傳功能3. ASP常用源代碼的總結(jié)(下)4. 解決ant design vue中樹(shù)形控件defaultExpandAll設(shè)置無(wú)效的問(wèn)題5. Android View 事件防抖的兩種方案6. Android抽屜布局DrawerLayout的簡(jiǎn)單使用7. Python ini文件常用操作方法解析8. Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法9. 基于Java實(shí)現(xiàn)記事本功能10. Vue axios獲取token臨時(shí)令牌封裝案例

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