PHP使用函數(shù)靜態(tài)變量實現(xiàn)指定迭代次數(shù)的方法
本文實例講述了PHP使用函數(shù)靜態(tài)變量實現(xiàn)指定迭代次數(shù)的方法。分享給大家供大家參考,具體如下:
在PHP中,除了類的靜態(tài)成員屬性外,在函數(shù)中同樣可以利用 static 定義靜態(tài)變量。從而便捷的完成函數(shù)迭代。
例1:
<?php function Test() { $a = 0; echo $a; $a++; } ?>
在上例中,每次調用Test函數(shù),a都被重新賦值為0,因為一旦退出本函數(shù)則變量a都被重新賦值為0,因為一旦退出本函數(shù)則變量a 就不存在了。要想完成迭代,需要寫一個不會丟失本次計數(shù)值的計數(shù)函數(shù),要將變量 $a 定義為靜態(tài)的:
<?php function test() { static $a = 0; echo $a; $a++; } ?>
這樣$a只在第一次調用時被賦值,之后在每次調用時加1,并且不會被重寫。
這樣便可利用此特性,對某操作指定次數(shù)的迭代:
例2:(獲取將某數(shù)組彈出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相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數(shù)學運算技巧總結》、《PHP數(shù)組(Array)操作技巧大全》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
詳談php中 strtr 和 str_replace 的效率問題
下面小編就為大家?guī)硪黄斦刾hp中 strtr 和 str_replace 的效率問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05