本文主要和大家介紹了PHP使用函數靜態變數實現指定迭代次數的方法,結合實例形式分析了php靜態變數資料儲存的相關操作技巧,需要的朋友可以參考下,
本文實例敘述了PHP使用函數靜態變數實現指定迭代次數的方法。分享給大家供大家參考,如下:
在PHP中,除了類別的靜態成員屬性外,在函數中同樣可以利用 static 定義靜態變數。從而便捷的完成函數迭代。
範例1:
<?php function Test() { $a = 0; echo $a; $a++; } ?>
在上例中,每次呼叫Test函數,a都被重新賦值為0,因為一旦退出本函數則變數a都被重新賦值為0,因為一旦退出本函數則變數a 就不存在了。要完成迭代,需要寫一個不會遺失本次計數值的計數函數,要將變數$a 定義為靜態的:
<?php function 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聚合式迭代器介面IteratorAggregate用法分享
######
以上是PHP函數靜態變數實作指定迭代次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!