新聞中心

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、南岳網(wǎng)站維護、網(wǎng)站推廣。
和局部變量相比,靜態(tài)變量具有一下特點:
- 當函數(shù)執(zhí)行完畢后,靜態(tài)變量不會消失;
- 靜態(tài)變量只能在函數(shù)內(nèi)部使用;
- 靜態(tài)變量只會被初始化一次;
- 靜態(tài)變量初始化的值可以省略,默認值為 null;
- 靜態(tài)變量的初始值只能是具體的字符串、數(shù)值等,而不能是一個表達式。
注意:在函數(shù)外面使用靜態(tài)變量時并不會報錯,這時它的生命周期與作用域和全局變量是一樣的;在函數(shù)內(nèi)部定義靜態(tài)變量時,它的生命周期也和全局變量一樣,但是作用域和局部變量的作用域一樣的。
靜態(tài)變量并不是說它的值是不能改變的,不能改變值的那叫常量。 其實靜態(tài)變量的值是可以改變的,而且它會保持最新的值。之所以稱為靜態(tài),是因為它不會隨著函數(shù)的調(diào)用和退出而發(fā)生變化。即上次調(diào)用函數(shù)的時候,如果我們給靜態(tài)變量賦予某個值的話,那么下次函數(shù)調(diào)用時,這個值是保持不變。
還有一點需要注意的是:靜態(tài)變量雖然在程序的整個執(zhí)行過程中始終存在,但是它的作用域和局部變量是一樣的,在作用域之外是不能使用的。
說了這么多,那么要怎么定義一個靜態(tài)變量呢?這是我們就需要用到 static 關鍵字了,使用方法如下:
static 變量 = 值;
當同時定義多個靜態(tài)變量,且使用默認值初始化時,也可以像下面這樣:(多個變量之間使用“,”分隔)
static 變量1, 變量2, ...
靜態(tài)變量大多用在,函數(shù)需要多次調(diào)用且需要共享一份數(shù)據(jù)時,比如使用遞歸的方式遍歷某個目錄。
【示例】定義一個靜態(tài)變量來記錄函數(shù)調(diào)用的次數(shù),另外再定義一個局部變量與靜態(tài)變量做對比,具體代碼如下:
';
}
demo();
demo();
demo();
demo();
?>
運行結(jié)果如下所示:
第 1 次運行 demo 函數(shù), 局部變量 $b 的值為:1
第 2 次運行 demo 函數(shù), 局部變量 $b 的值為:1
第 3 次運行 demo 函數(shù), 局部變量 $b 的值為:1
第 4 次運行 demo 函數(shù), 局部變量 $b 的值為:1
當前題目:PHPstatic:靜態(tài)變量
轉(zhuǎn)載來于:http://m.5511xx.com/article/dhoihic.html


咨詢
建站咨詢
