在php中,除了類的靜態成員屬性外,在函式中同樣可以利用 static 定義靜態變數。從而便捷的完成函式迭代。
例1:
<?php
function
test
()?>
在上例中,每次呼叫test函式,a都
被重新賦
值為0,
因為一旦
退出本函
數則變數
a 就不存在了。要想完成迭代,需要寫乙個不會丟失本次計數值的計數函式,要將變數 $a 定義為靜態的:
<?php
function
test
()?>
這樣$a只在第一次呼叫時被賦值,之後在每次呼叫時加1,並且不會被重寫。
這樣便可利用此特性,對某操作指定次數的迭代:
例2:(獲取將某陣列彈出5個元素後的結果)
$arr = range(1,10,1);
function
test
($arr)
else
}test($arr);
php靜態變數
在函式執行完後,變數值仍然儲存,並沒有變回初始設定的值0。function test test test test 結果 1 23可以發現a設定靜態變數之後,每次 a的值都儲存下來了。我剛開始還以為這個變數變成了全域性變數,測試發現這個變數 a依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...
php 靜態變數static
靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。functiontest 第一次執行,nm tes...
PHP的靜態變數管理
php的靜態變數需要集中管理,比如一些系統標識或者型別標識。我的乙個想法是用型別類來管理。乙個型別基類 author jixiaolong todo 型別基類 class typebase function destruct modify by jixiaolong 2013 4 5 public ...