PHP基礎(chǔ)之常量1——語(yǔ)法簡(jiǎn)介
可以用 define() 函數(shù)來定義常量,在 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)單的通過指定其名字來取得常量的值,與變量不同,不應(yīng)該在常量前面加上 $ 符號(hào)。如果常量名是動(dòng)態(tài)的,也可以用函數(shù) constant() 來獲取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
Note: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個(gè)未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調(diào)用它一樣(CONSTANT 對(duì)應(yīng) 'CONSTANT')。此時(shí)將發(fā)出一個(gè) E_NOTICE 級(jí)的錯(cuò)誤。如果只想檢查是否定義了某常量,用 defined() 函數(shù)。
常量和變量有如下不同:
常量前面沒有美元符號(hào)($);
常量只能用 define() 函數(shù)定義,而不能通過賦值語(yǔ)句;
常量可以不用理會(huì)變量的作用域而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標(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() 來定義常量相反的是,使用 const 關(guān)鍵字定義常量必須處于最頂端的作用區(qū)域,因?yàn)橛么朔椒ㄊ窃诰幾g時(shí)定義的。這就意味著不能在函數(shù)內(nèi),循環(huán)內(nèi)以及 if 語(yǔ)句之內(nèi)用const 來定義常量。
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. python 如何停止一個(gè)死循環(huán)的線程3. Python編寫nmap掃描工具4. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密5. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總6. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值7. 關(guān)于HTML5的img標(biāo)簽8. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送9. python 爬取嗶哩嗶哩up主信息和投稿視頻10. php5.6不能擴(kuò)展redis.so的解決方法
