首頁  >  文章  >  後端開發  >  PHP函數靜態變數實作指定迭代次數

PHP函數靜態變數實作指定迭代次數

小云云
小云云原創
2018-03-20 09:43:181379瀏覽

本文主要和大家介紹了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用法分享

調整JavaScript抽象的迭代方案

JavaScript陣列的5種迭代方法實例詳解

######

以上是PHP函數靜態變數實作指定迭代次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn