超碰97资源在线免费观看-国产亚洲一区二区久久-欧美日韩成人字幕一区-激情五月网在线视频-亚洲天堂美女av在线-麻豆视传媒精品av-婷婷激情综合激情五月俺也去-国产精品久久久久久亚洲av站-51精产国品一二三产区区,久久久久久久区二区三区四区久久久,色哟哟视频国产精品,日韩va亚洲va欧美

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/08/07 at 02:07

PHP static靜態(tài)變量

什么是static靜態(tài)變量?

靜態(tài)變量 類型說明符是static。

靜態(tài)變量屬于靜態(tài)存儲(chǔ)方式,其存儲(chǔ)空間為內(nèi)存中的靜態(tài)數(shù)據(jù)區(qū)(在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元),該區(qū)域中的數(shù)據(jù)在整個(gè)程序的運(yùn)行期間一直占用這些存儲(chǔ)空間(在程序整個(gè)運(yùn)行期間都不釋放),也可以認(rèn)為是其內(nèi)存地址不變,直到整個(gè)程序運(yùn)行結(jié)束(相反,而auto自動(dòng)變量,即動(dòng)態(tài)局部變量,屬于動(dòng)態(tài)存儲(chǔ)類別,占動(dòng)態(tài)存儲(chǔ)空間,函數(shù)調(diào)用結(jié)束后即釋放)。靜態(tài)變量雖在程序的整個(gè)執(zhí)行過程中始終存在,但是在它作用域之外不能使用。

另外,屬于靜態(tài)存儲(chǔ)方式的量不一定就是靜態(tài)變量。 例如:外部變量(在PHP中指全局變量)雖屬于靜態(tài)存儲(chǔ)方式,但不一定是靜態(tài)變量,必須由 static加以定義后才能成為靜態(tài)外部變量,或稱靜態(tài)全局變量。

所有的全局變量都是靜態(tài)變量,而局部變量只有定義時(shí)加上類型修飾符static,才為局部靜態(tài)變量。

靜態(tài)變量可以在任何可以申請(qǐng)的地方申請(qǐng),一旦申請(qǐng)成功后,它將不再接受其他的同樣申請(qǐng)。

靜態(tài)變量并不是說其就不能改變值,不能改變值的量叫常量。 其擁有的值是可變的 ,而且它會(huì)保持最新的值。說其靜態(tài),是因?yàn)樗粫?huì)隨著函數(shù)的調(diào)用和退出而發(fā)生變化。即上次調(diào)用函數(shù)的時(shí)候,如果我們給靜態(tài)變量賦予某個(gè)值的話,下次函數(shù)調(diào)用時(shí),這個(gè)值保持不變。

一、靜態(tài)局部變量:

1、Static類內(nèi)部變量同auto自動(dòng)變量(即未加 Static 聲明的局部變量)一樣,是某個(gè)特定函數(shù)的局部變量,即只能在定義該變量的函數(shù)內(nèi)使用該變量,2者作用域相同;兩者的不同在于:auto自動(dòng)變量會(huì)隨著函數(shù)被調(diào)用和退出而存在和消失,而static類局部變量不會(huì),它不管其所在的函數(shù)是否被調(diào)用,都將一直存在;不過,盡管該變量還繼續(xù)存在,但不能使用它。倘若再次調(diào)用定義它的函數(shù)時(shí),它又可繼續(xù)使用,而且保存了前次被調(diào)用后留下的值。換言之,Static類型的內(nèi)部變量是一種只能在某個(gè)特定函數(shù)中使用,但一直占據(jù)存儲(chǔ)空間的變量。

2、函數(shù)體內(nèi)如果在定義靜態(tài)變量的同時(shí)進(jìn)行了初始化,則以后程序不再進(jìn)行初始化操作(出現(xiàn)在函數(shù)內(nèi)部的基本類型的的靜態(tài)變量初始化語(yǔ)句只有在第一次調(diào)用才執(zhí)行)。而對(duì)自動(dòng)變量賦初值是在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語(yǔ)句。

3、靜態(tài)局部變量的初始化表達(dá)式必須是一個(gè)常量或者常量表達(dá)式。即使局部靜態(tài)變量定義時(shí)沒有賦初值,系統(tǒng)會(huì)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量);靜態(tài)變量的初始值為0。而對(duì)自動(dòng)變量auto來說,如果不賦初值則它的值將是個(gè)不確定的值。

4、當(dāng)多次調(diào)用一個(gè)函數(shù)且要求在調(diào)用之間保留某些變量的值時(shí),可考慮采用靜態(tài)局部變量。雖然用全局變量也可以達(dá)到上述目的,但全局變量有時(shí)會(huì)造成意外的副作用,因此仍以采用局部靜態(tài)變量為宜。

注:局部靜態(tài)變量占用內(nèi)存時(shí)間較長(zhǎng),并且可讀性差,因此,除非必要,盡量避免使用局部靜態(tài)變量。

二、靜態(tài)全局變量

全局變量(外部變量)的說明之前再冠以static 就構(gòu)成了靜態(tài)的全局變量。
全局變量本身就是靜態(tài)存儲(chǔ)方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲(chǔ)方式。
這兩者在存儲(chǔ)方式上并無(wú)不同。

這兩者的區(qū)別雖在于:
1、非靜態(tài)全局變量的作用域是整個(gè)源程序,當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí),非靜態(tài)的全局變量在各個(gè)源文件中都是有效的。
2、靜態(tài)全局變量則限制了其作用域, 即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。

從以上分析可以看出————
把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲(chǔ)方式,即改變了它的生存期。
把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。static靜態(tài)變量會(huì)被放在程序的全局存儲(chǔ)區(qū)中(即在程序的全局?jǐn)?shù)據(jù)區(qū),而不是在堆棧中分配,所以不會(huì)導(dǎo)致堆棧溢出),這樣可以在下一次調(diào)用的時(shí)候還可以保持原來的賦值。這一點(diǎn)是它與堆棧變量和堆變量的區(qū)別。

三應(yīng)用于PHP中

//--------------如何理解static靜態(tài)變量-----------。
//普通局部變量
function local(){
$loc = 0; //這樣,如果直接不給初值0是錯(cuò)誤的。
++$loc;
echo $loc.'<br>';
}
local(); //1
local(); //1
local(); //1
echo '===================================<br/>';
//static靜態(tài)局部變量
function static_local(){
static $local = 0 ; //此處可以不賦0值
$local++;
echo $local.'<br>';
}
static_local(); //1
static_local(); //2
static_local(); //3
//echo $local; 注意雖然靜態(tài)變量,但是它仍然是局部的,在外不能直接訪問的。
echo '=======================================<br>';
//static靜態(tài)全局變量(實(shí)際上:全局變量本身就是靜態(tài)存儲(chǔ)方式,所有的全局變量都是靜態(tài)變量)
function static_global(){
global $glo; //此處,可以不賦值0,當(dāng)然賦值0,后每次調(diào)用時(shí)其值都為0,每次調(diào)用函數(shù)得到的值都會(huì)是1,但是不能想當(dāng)然的寫上"static"加以修飾,那樣是錯(cuò)誤的.
$glo++;
echo $glo.'<br>';
}
static_global(); //1
static_global(); //2
static_global(); //3

標(biāo)簽:
-
九九热久久久99国产盗摄蜜臀-久久精品男人的天堂-日韩啪啪激情视频-蜜臀99精品久久久久 | 超碰97免费在线观看视频-91久久久久综合精品-婷婷午夜花亚洲-日韩不卡视频一区二区 | 每天操天天日夜夜干-久久色综合网久久色-蜜桃久久久亚洲精品-成年人看的黄色片子 | 国产精品999国产精品视频-久久艹视频在线免费观看-久久网色综合美女-国产又粗又爽又黄的视频 | 超碰97人妻在线视频-91精品91久久久久久久-日韩人妻在线中文字幕在线视频-91精品国产综合久久精品密臀 | 日本精品一区二区三区别区-亚洲欧美日韩中文字幕一区二区-蜜桃久久精品在线-久久久久精品久久久水蜜桃导演 | 国产一区二区三区四区美女-国产精品999久久久久-国产精品\久久av-国产色婷婷av麻豆天 | 红桃视频一区二区欧美日韩国产区-久久久久久丁香-成人久久久久久69免费-99精产国品一二三产区区别视频 | 国产一区二区在线观看ww-精品国产乱码久久久久久绯色q-久久精品一区二区视频免费观看-日韩av在线播放不卡一区 | 国产av精品国语对白国产-国产成人无精品久久久久国语-中文字幕av一区二区三区-97超级碰免费在线 精品一区二区三区久久久久-岛国av在线观看网站-久久一综合中文字幕-国产又粗又长又大又爽免费视频 | 999久久久国产精品蜜臀av-麻豆产精国品一二三产区区农民-麻豆一区二区三区免费观看-亚洲人妻久久蜜桃一区 | 精品人妻久久久久久久久久久-麻豆国产十四部阿宾第九集-亚洲国产欧美影视在线免费观看-日韩欧美人妻中文字 | 人妻一区二区三区四区偷拍-日韩高清人妻免费啪-激情久久六月婷婷-亚洲av久久一区 | 日韩精品在在线视频-欧美精品成人a在线观看麻豆-熟妇人妻中文字幕老熟妇-久久美女福利视 | 色婷婷观看免费视频-国产精品自产拍在线-国产成人福利在线视频-亚洲国产精品国自产拍张津瑜 | 麻豆精品国产馆-成人91av在线观看-国产乱子伦一区二区三区一-麻豆精品免费观看麻豆 | 日韩夫妻性生活大片-免费人成黄页在线观看国产-亚洲日本久久久久婷婷-久久99国产蜜臀精品 | 亚洲欧美丝袜制服一区-日韩激情视频在线高清-日韩1区2区3区4区5区-久久 婷婷 一区 | 成人av色在线观看-女同久久另类99精品国产懂色-91精品一区二区三区不卡-欧美 日韩 激情 一区二区 | 国产精品成人自拍av-日韩av无删减版在线观看-中文字幕最新亚洲18-熟妇人妻中文字幕在线 | 久久久久久精品美女-久久人妻天天操人人爽-久久夜色精品亚洲a-久久精品一区二区三区免费 | 制服 中文 人妻 字幕精品-日韩欧美人妻中文字幕电影-久久麻豆精亚洲av品国产蜜臀-日韩 国产 亚洲av | 日韩一区二区三区四区视频-97人妻一区二区精品三上悠亚-日本一在线中文字幕-少妇人妻精品视频三区二区 | 中文字幕在线人妻中文第一页-内射人妻视频国内-日韩欧美不卡在线视频-麻豆熟妇人妻xxxxxx艾秋 | 五月天丁香婷婷网站-国产1024一区二区三区-亚洲精品综合精品自拍麻豆-一本色道久久av蜜桃臀 | 婷婷久久伊人综合-熟妇大屁股一区二区三区视额-日韩精品视频第一-欧美熟妇老熟妇888久久久 | 青娱乐极品在线视频-国产一区二区三区四区二区-超碰在线色av-色婷婷狠狠综合 | 91人妻精品国产麻豆-日韩av午夜免费电影-日韩精品资源在线观看,-欧美日韩激情图片亚洲 | 午夜在线观看视频免费观看999-欧美日韩色另类综合-蜜桃电影成人一区-日本韩国一区二区三区不卡 | 久久97精品国产综合色av网站-日夜啪啪啪啪啪啪啪网站-99国内外在线视频免费-91久久国产综合久在线观看 | 中文字幕人妻在线免费观看-日韩中文字幕理伦-91欧美激情一区二区-久久精品视频一区二区三区 | 亚洲精品在线啪啪啪-91精品国产综合久久久婷婷-亚洲男同性恋免费网站-欧亚洲视频在线观看免费 | 成人在线一区二区三区视频-日韩性感美女伦理片-国产伦精品午夜剧场-中文字幕伊人久久网 | 婷婷激情五月天一区二区三区-国产欧美激情一区二区三区-国精产品一区一区三区在线视频-久久久久久a亚洲欧洲av大片 | 国产精品久久久久欧美-91久久久爱一区二区三区-日韩成人中文字幕在线播放-久久天堂人妻久久久精品 | 色综合男人天堂久久-日本丰满熟妇人妻一区二区三区-日韩精品人妻少妇有码-蜜桃久久99精品久久久酒店 | 激情婷婷乱交人妻少妇群欢在线视频-国产av一区二区三区zzzxxx-黄色免费2b网页18岁有声音-久久久999国产一区 | 亚洲av中文高清中文-一道本一区二区久久久久久久-日韩 亚洲 第1页-超碰免费在线7 | 日韩av日韩黄片-中文字幕av不卡一区二区三区-91精品综合久久久久久-久久久久北条麻妃性色av | 日韩骚少妇av网-99re久久这里都是精品视频-久久1997免费视频-日韩少妇av网站 | 国产成人久久一区二区三区-视频一区 视频二区视频三区-最近最好看的中文字幕8-国产精品久久久久久久果冻 |