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++; } ?>
在上例中,每次調(diào)用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只在第一次調(diào)用時被賦值,之后在每次調(diào)用時加1,并且不會被重寫。
這樣便可利用此特性,對某操作指定次數(shù)的迭代:
例2:(獲取將某數(shù)組彈出5個元素后的結(jié)果)
$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);
運行結(jié)果:
array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP中靜態(tài)變量的使用方法實例分析
- php中static 靜態(tài)變量和普通變量的區(qū)別
- PHP中類屬性與類靜態(tài)變量的訪問方法示例
- PHP中的靜態(tài)變量及static靜態(tài)變量使用詳解
- php中靜態(tài)類與靜態(tài)變量用法的區(qū)別分析
- php中的靜態(tài)變量的基本用法
- PHP static局部靜態(tài)變量和全局靜態(tài)變量總結(jié)
- php中static靜態(tài)變量的使用方法詳解
- php 靜態(tài)變量與自定義常量的使用方法
- php 靜態(tài)變量的初始化
- php 函數(shù)中靜態(tài)變量使用的問題實例分析
相關(guān)文章
詳談php中 strtr 和 str_replace 的效率問題
下面小編就為大家?guī)硪黄斦刾hp中 strtr 和 str_replace 的效率問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05