您好,登錄后才能下訂單哦!
1、我們通常把不經常變的值定義成常量,常量一般用全部大寫字母表示,前面不加美元符號$,默認區分大小寫。比如 文件路徑:const FilePath = 'commentBook.txt';就可以定義為常量。
2、一個常量一旦被定義,就不能再改變或取消定義。
3、常量只能包含標量數據(boolean、integer、float和string)。可以定義resource常量,但應盡量避免,因為會造成不可預料的結果。
常量和變量有如下不同:
1、常量前面沒有美元符號($)
2、常量只能通過define()函數定義,而不能通過賦值語句
3、常量可以不用理會變量的作用域在任何地方定義和訪問
4、常量一旦定義就不能重新定義或取消定義
5、常量的值只能是標量
問:在php中定義常量時,const和define的區別?
答:使用const使得代碼簡單易讀,const本身就是一個語言結構,而define是一個函數。另外const在編譯時要比define快很多。
1、const可在類中使用,用于類成員變量的定義,一經定義,不可修改。define不可以用于類成員變量的定義,可用于全局常量。
class Car{
const CONS = '我是常量';
echo self::CONS; //如果從類的內部訪問const或者static變量或者方法,那么就必須使用自引用的self,否則用$this
}
2、const是在編譯時定義,因此必須處于最頂端的作用區域,不能在函數,循環及if條件中使用;而define是函數,也就是能調用函數的地方都可以使用
if(){
const CONS = '我是常量'; //錯誤
}
if(){
define('CONS','我是常量'); //正確
}
3、const是一個語言結構;而define是一個函數,可以通過第三個參數來指定是否區分大小寫。true表示大小寫不敏感,默認為false,即大小寫敏感。
如:define('PI',3.14,true);
4、const只能采用普通的常量名稱,define可以采用表達式作為名稱
const CONS = 'car';
for($i=0;$i<10;$i++){
define('BIT_'.$i,1<<$i);
}
5、const只能接受靜態的標量,而define可以采用任何表達式
const CONS = 1<<5; //無效的常量
define('CONS',1<<5); //有效的常量
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。