本文實例講述了PHP使用函數靜態變量實現指定迭代次數的方法。分享給大家供大家參考,具體如下:
在PHP中,除了類的靜態成員屬性外,在函數中同樣可以利用 static 定義靜態變量。從而便捷的完成函數迭代。
例1:
<?phpfunction Test(){ $a = 0; echo $a; $a++;}?>
在上例中,每次調用Test函數,a都被重新賦值為0,因為一旦退出本函數則變量a都被重新賦值為0,因為一旦退出本函數則變量a 就不存在了。要想完成迭代,需要寫一個不會丟失本次計數值的計數函數,要將變量 $a 定義為靜態的:
<?phpfunction test(){ static $a = 0; echo $a; $a++;}?>
這樣$a只在第一次調用時被賦值,之后在每次調用時加1,并且不會被重寫。
這樣便可利用此特性,對某操作指定次數的迭代:
例2:(獲取將某數組彈出5個元素后的結果)
$arr = range(1,10,1);function test($arr){ static $count=0; array_pop($arr); $count++; if ($count < 5) { test($arr); }else{ var_dump($arr);exit; }}test($arr);
運行結果:
array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5)}
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選