最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析php中static,const與define的使用區(qū)別

 更新時(shí)間:2013年06月18日 09:56:02   作者:  
本篇文章是對(duì)php中static,const與define的使用區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
define部分:
宏不僅可以用來代替常數(shù)值,還可以用來代替表達(dá)式,甚至是代碼段。(宏的功能很強(qiáng)大,但也容易出錯(cuò),所以其利弊大小頗有爭議。)
宏的語法為:
#define 宏名稱 宏值
作為一種建議和一種廣大程序員共同的習(xí)慣,宏名稱經(jīng)常使用全部大寫的字母。
利用宏的優(yōu)點(diǎn):
1)讓代碼更簡潔明了
當(dāng)然,這有賴于你為宏取一個(gè)適當(dāng)?shù)拿?。一般來說,宏的名字更要注重有明確直觀的意義,有時(shí)寧可讓它長點(diǎn)。
2)方便代碼維護(hù)
對(duì)宏的處理,在編譯過程中稱為“預(yù)處理”。也就是說在正式編譯前,編譯器必須先將代碼出現(xiàn)的宏,用其相應(yīng)的宏值替換,這個(gè)過程有點(diǎn)你我在文字處理軟件中的查找替換。所以在代碼中使用宏表達(dá)常數(shù),歸根結(jié)底還是使用了立即數(shù),并沒有明確指定這個(gè)量的類型。

const部分
常量定義的格式為:
const 數(shù)據(jù)類型 常量名 = 常量值;
而const定義的常量具有數(shù)據(jù)類型,定義數(shù)據(jù)類型的常量便于編譯器進(jìn)行數(shù)據(jù)檢查,使程序可能出現(xiàn)錯(cuò)誤進(jìn)行排查。常量必須一開始就指定一個(gè)值,然后,在以后的代碼中,我們不允許改變此常量的值。

兩者之間的區(qū)別:
內(nèi)存空間的分配上。define進(jìn)行宏定義的時(shí)候,不會(huì)分配內(nèi)存空間,編譯時(shí)會(huì)在main函數(shù)里進(jìn)行替換,只是單純的替換,不會(huì)進(jìn)行任何檢查,比如類型,語句結(jié)構(gòu)等,即宏定義常量只是純粹的置放關(guān)系,如#define null 0;編譯器在遇到null時(shí)總是用0代替null它沒有數(shù)據(jù)類型(還有疑問請(qǐng)找C語言書籍看預(yù)處理部分或者看MSDN.而const定義的常量具有數(shù)據(jù)類型,定義數(shù)據(jù)類型的常量便于編譯器進(jìn)行數(shù)據(jù)檢查,使程序可能出現(xiàn)錯(cuò)誤進(jìn)行排查,所以const與define之間的區(qū)別在于const定義常量排除了程序之間的不安全性. define定義全局常量,在任何地方都可以訪問

const用于類成員變量定義,只能用類名訪問不能更改要是初學(xué)這樣顯理解著就行別太鉆牛角尖就行 PHP5中加入了很多面向?qū)ο蟮乃枷?PHP5的面向?qū)ο蟊容^接近Java的面向?qū)ο笏枷?。我們這里對(duì)PHP5中的static和const關(guān)鍵字作用進(jìn)行一下描述,希望對(duì)學(xué)習(xí)PHP5的朋友有幫助。

(1) staticstatic關(guān)鍵字在類中是,描述一個(gè)成員是靜態(tài)的,static能夠限制外部的訪問,因?yàn)閟tatic后的成員是屬于類的,是不屬于任何對(duì)象實(shí)例,其他類是無法訪問的,只對(duì)類的實(shí)例共享,能一定程序?qū)υ摮蓡T盡心保護(hù)。類的靜態(tài)變量,非常類似全局變量,能夠被所有類的實(shí)例共享,類的靜態(tài)方法也是一樣的,類似于全局函數(shù)。類的靜態(tài)方法能訪問類的靜態(tài)的屬性。另外說明的是,static的成員,必須使用self來訪問,使用this會(huì)出錯(cuò)。

(2)constconst是一個(gè)定義常量的關(guān)鍵字,類似于C中的#define,能夠定義一個(gè)常量,如果在程序中改變了它的值,那么會(huì)出現(xiàn)錯(cuò)誤。舉例說明上面的代碼:
復(fù)制代碼 代碼如下:

<?php 
class Counter 

private static $count = 0;//定義一個(gè)靜態(tài)屬性 
const VERSION = 2.0;//定義一個(gè)常量 
//構(gòu)造函數(shù) 
function __construct() 

self::$count++; 

//析構(gòu)函數(shù) 
function __destruct() 

self::$count--; 

//定義一個(gè)靜態(tài)的方法 
static function getCount() 

return self::$count; 


//創(chuàng)建一個(gè)實(shí)例 
$c = new Counter(); 
//執(zhí)行打印 
print( Counter::getCount(). "<br>\n" ); //使用直接輸入類名來訪問靜態(tài)方法Counter::getCount 
//打印類的版本 
print( "Version useed: " .Counter::VERSION. "<br>\n" ); 
?>

相關(guān)文章

  • php GD繪制24小時(shí)柱狀圖

    php GD繪制24小時(shí)柱狀圖

    h24 這個(gè)函數(shù)就是生成柱狀圖的 函數(shù)需要一個(gè)字符串作為參數(shù) 這個(gè)參數(shù)的格式為:每小時(shí)的數(shù)量按照從0-23點(diǎn)的順序加逗號(hào)連接在一起 可以看例子里面的
    2008-06-06
  • 隨時(shí)給自己貼的圖片加文字的php水印

    隨時(shí)給自己貼的圖片加文字的php水印

    隨時(shí)給自己貼的圖片加文字的php水印...
    2007-03-03
  • PHP 解決session死鎖的方法

    PHP 解決session死鎖的方法

    本篇文章是對(duì)PHP解決session死鎖的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP使用CURL實(shí)現(xiàn)對(duì)帶有驗(yàn)證碼的網(wǎng)站進(jìn)行模擬登錄的方法

    PHP使用CURL實(shí)現(xiàn)對(duì)帶有驗(yàn)證碼的網(wǎng)站進(jìn)行模擬登錄的方法

    這篇文章主要介紹了PHP使用CURL實(shí)現(xiàn)對(duì)帶有驗(yàn)證碼的網(wǎng)站進(jìn)行模擬登錄的方法,可以幫助讀者加深對(duì)CURL操作的理解與應(yīng)用,需要的朋友可以參考下
    2014-07-07
  • PHP使用遞歸算法無限遍歷數(shù)組示例

    PHP使用遞歸算法無限遍歷數(shù)組示例

    這篇文章主要介紹了PHP使用遞歸算法無限遍歷數(shù)組,結(jié)合實(shí)例形式分析了php針對(duì)一維數(shù)組、二維數(shù)組及多維不規(guī)則數(shù)組的通用遍歷技巧,需要的朋友可以參考下
    2017-01-01
  • php實(shí)現(xiàn)遞歸的三種基本方式

    php實(shí)現(xiàn)遞歸的三種基本方式

    這篇文章主要介紹了php實(shí)現(xiàn)遞歸的三種基本方法,包括利用引用做參數(shù),利用全局變量,利用靜態(tài)變量來實(shí)現(xiàn)遞歸,并附上了相關(guān)示例,最后給大家一個(gè)演示,涉及php的遞歸操作技巧,需要的朋友可以參考下
    2015-08-08
  • php中根據(jù)變量的類型 選擇echo或dump

    php中根據(jù)變量的類型 選擇echo或dump

    有時(shí)候,我們想輸出一個(gè)變量,如果是數(shù)組的,則var_dump,如果是字符串之類的,則echo即可
    2012-07-07
  • php判斷IP地址是否在多個(gè)IP段內(nèi)

    php判斷IP地址是否在多個(gè)IP段內(nèi)

    這篇文章主要為大家詳細(xì)介紹了php判斷IP地址是否在多個(gè)IP段內(nèi),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • php將html轉(zhuǎn)成wml的WAP標(biāo)記語言實(shí)例

    php將html轉(zhuǎn)成wml的WAP標(biāo)記語言實(shí)例

    這篇文章主要介紹了php將html轉(zhuǎn)成wml的WAP標(biāo)記語言的方法,實(shí)例分析了php實(shí)現(xiàn)標(biāo)簽的轉(zhuǎn)換與過濾的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-07-07
  • php 攻擊方法之談php+mysql注射語句構(gòu)造

    php 攻擊方法之談php+mysql注射語句構(gòu)造

    由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困難,尤其是注射時(shí)語句的構(gòu)造方面更是個(gè)難點(diǎn),本文主要是借對(duì)Okphp BBS v1.3一些文件得簡單分析,來談?wù)刾hp+mysql注射語句構(gòu)造方式,希望本文對(duì)你有點(diǎn)幫助。
    2009-10-10

最新評(píng)論

普定县| 浦县| 上林县| 晋宁县| 沧州市| 金川县| 凌海市| 常德市| 皋兰县| 彭泽县| 商城县| 绥德县| 中阳县| 屏南县| 普格县| 兴宁市| 宣武区| 乌拉特前旗| 高安市| 灵台县| 射阳县| 扎鲁特旗| 汝阳县| 东乡县| 通州市| 濮阳市| 望城县| 邹平县| 鄄城县| 杭锦旗| 白河县| 成武县| 崇礼县| 通海县| 甘南县| 玛纳斯县| 安丘市| 饶阳县| 天全县| 旺苍县| 晋中市|