這篇文章主要介紹了php中定義常量的方法有哪些,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為肥城等服務(wù)建站,肥城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為肥城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
“常量”的廣義概念是:‘不變化的量’(例如:在計算機程序運行時,不會被程序修改的量;數(shù)學(xué)函數(shù)中的某一個量,例如每一個具體的圓的半徑、直徑數(shù)值;物理學(xué)中的靠近地面的重力加速度;真空中的光速數(shù)值;)下面為大家介紹一下PHP中兩種定義常量的方法。
我們這里用pi來舉例。
第一種方式:宏定義,是將Pi定義成一種符號,此時Pi只是3.1415926的別名,在編譯期間用3.1415926去取代Pi的值。
1.define是宏定義,程序在預(yù)處理階段將用define定義的內(nèi)容進行了替換。因此程序運行時,常量表中并沒有用define定義的常量,系統(tǒng)不為它分配內(nèi)存。const定義的常量,在程序運行時在常量表中,系統(tǒng)為它分配內(nèi)存。
2.define定義的常量,預(yù)處理時只是直接進行了替換。所以編譯時不能進行數(shù)據(jù)類型檢驗。const定義的常量,在編譯時進行嚴格的類型檢驗,可以避免出錯。
3.define定義表達式時要注意“邊緣效應(yīng)”,例如如下定義: #define N 2+3 //我們預(yù)想的N值是5,我們這樣使用N,int a = N/2; //我們預(yù)想的a的值是2.5,可實際上a的值是3.5原因在于在預(yù)處理階段,編譯器將 a = N/2處理成了 a = 2+3/2;這就是宏定義的字符串替換的“邊緣效應(yīng)”因此要如下定義:#define N (2+3)。
第二種方式:是將PI定義成變量,但告訴編譯器它的值是固定不變的,如果在程序中試圖去修改它的值,在編譯時會報錯。
const定義的常量叫做常變量原因有二:const定義常量像變量一樣檢查類型;const可以在任何地方定義常量,編譯器對它的處理過程與變量相似,只是分配內(nèi)存的地方不同。
總結(jié)起來說,推薦用const ,而不是#define 預(yù)處理指令(但是目前看到的是使用#define的較多,難道是方便?有待考量)
1. const 可以定義數(shù)據(jù)類型,提高了類型安全性。例如,我們上面可以指定PI 這個常量是double 類型
2. const 既然是變量(這里有點別扭,它其實是不變的,但名稱叫做常值變量), 那么就有地址,適用面更加廣
3. 語法上也更好理解一些
符號常量 #define Pi 3.1415926f; 常值變量 const float pi 3.1415926f;
感謝你能夠認真閱讀完這篇文章,希望小編分享php中定義常量的方法有哪些內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學(xué)習(xí)!
本文標(biāo)題:php中定義常量的方法有哪些
標(biāo)題URL:http://aaarwkj.com/article30/gjooso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站改版、網(wǎng)站設(shè)計、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)