您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)PHP中define函數(shù)有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
define,宏定義,C語言中預(yù)處理命令一種。分為無參宏定義和帶參宏定義。無參宏定義的一般形式為:#define宏名字符串;帶參宏定義的一般形式為:#define宏名(參數(shù)表)字符串;PHP中define函數(shù)定義一個常量。常量類似變量,不同之處在于:在設(shè)定以后,常量的值無法更改。常量名不需要開頭的美元符號($)。作用域不影響對常量的訪問。常量值只能是字符串或數(shù)字。
phpdefine概念
#define命令是C語言中的一個宏定義命令,它用來將一個標(biāo)識符定義為一個字符串,該標(biāo)識符被稱為宏名,被定義的字符串稱為替換文本。[1]該命令有兩種格式:一種是簡單的宏定義,另一種是帶參數(shù)的宏定義。
phpdefine分類
無參宏定義
C語言中無參宏定義的一般形式為:#define宏名字符串[2]
其中的“#”表示這是一條預(yù)處理命令。凡是以“#”開頭的均為預(yù)處理命令。“define”為宏定義命令?!皹?biāo)識符”為所定義的宏名?!白址笨梢允浅?shù)、表達(dá)式、格式串等。
例如:#defineM(a+b)它的作用是指定標(biāo)識符M來代替表達(dá)式(a+b)。在編寫源程序時,所有的(a+b)都可由M代替,而對源程序作編譯時,將先由預(yù)處理程序進(jìn)行宏代換,即用(a+b)表達(dá)式去置換所有的宏名M,然后再進(jìn)行編譯。
程序:
#include<stdio.h> #defineM(a+b) intmain(void) { ints,a,b; printf("inputnumbera&b:"); scanf("%d%d",&a,&b); s=M*M; printf("s=%d\n",s); }
上例程序中首先進(jìn)行宏定義,定義M來替代表達(dá)式(a+b),在s=M*M中作了宏調(diào)用。在預(yù)處理時經(jīng)宏展開后該語句變?yōu)椋篠=(a+b)*(a+b)。但要注意的是,在宏定義中表達(dá)式(a+b)兩邊的括號不能少。否則會發(fā)生錯誤。如當(dāng)作以下定義后:#defineM(a)+(b)在宏展開時將得到下述語句:S=(a)+(b)*(a)+(b)。
對于宏定義還要說明以下幾點(diǎn):
1.宏定義是用宏名來表示一個字符串,在宏展開時又以該字符串取代宏名,這只是一種簡單的代換,字符串中可以含任何字符,可以是常數(shù),也可以是表達(dá)式,預(yù)處理程序?qū)λ蛔魅魏螜z查。如有錯誤,只能在編譯已被宏展開后的源程序時發(fā)現(xiàn)。
2.宏定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。
3.宏定義其作用域為宏定義命令起到源程序結(jié)束。如要終止其作用域可使用#undef命令。
感謝各位的閱讀!關(guān)于“PHP中define函數(shù)有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。