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程序设计有所帮助。

以上就是PHP使用函数静态变量实现指定迭代次数的方法。不要去说,生活是不公平的,世界上没有绝对的公平。我们应该把更多的情感投入到对生活点滴的感悟中,而并非一再的抱怨。我想,海伦。凯勒生活在乐观,快乐中。我们也同样有着能让我们感动的生活,重要的是我们要有一颗感谢生活的心。更多关于PHP使用函数静态变量实现指定迭代次数的方法请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】

PHP设计模式入门之迭代器模式原理与实现方法分析

php和C#的yield迭代器实现方法对比分析

PHP中的Iterator迭代对象属性详解

PHP设计模式之PHP迭代器模式讲解