gpt4 book ai didi

php基于闭包实现函数的自调用(递归)实例分析

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php基于闭包实现函数的自调用(递归)实例分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了php基于闭包实现函数的自调用(递归)的方法。分享给大家供大家参考,具体如下:

php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的,比如递归,这里讲一下用php的闭包实现递归 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//php闭包实现函数的自调用,也就是实现递归
function closure( $n , $counter , $max ){
   //匿名函数,这里函数的参数加&符号是,引址调用参数自己
   $fn = function (& $n ,& $counter ,& $max =1) use (& $fn ){ //use参数传递的是函数闭包函数自身
     $n ++;
     if ( $n < $max ){ //递归点,也就是递归的条件
       $counter .= $n . '<br />' ;
       //递归调用自己
       $fn ( $n , $counter , $max );
     }
     return $counter ;
   }; //记得这里必须加``;``分号,不加分号php会报错,闭包函数
   /*
   *这里函数closure的返回值就是调用闭包的匿名函数
   *而闭包函数,引用closure函数传进来的参数
   */
   return $fn ( $n , $counter , $max );
}
echo (closure(0, '' ,10));

这是一个简单的使用php闭包实现递归的函数,其实,假如我们对这个函数稍微修改一下,是可以实现很多功能的,比如说,无限极分类.

关于里面的闭包函数,其实,我们也可以不用引用外面的closure参数,里面的闭包函数的参数,我们可以在closure的内部设置.

我们也可以不用返回闭包函数的值,因为闭包函数是在closure函数里面,我们可以在closure里面设置一下变量传递给闭包函数,然后,用闭包递归获取我们想要的东西存储在数组中,再利用closure函数返回闭包函数获取的东西,所以,闭包函数也可以没有返回值的,关键是你要获取什么东西.

总之,你只要利用这个闭包函数实现你要的东西,然后返回你需要的东西即可,不一定非要从闭包函数的返回值中获取.

希望本文所述对大家PHP程序设计有所帮助.

最后此篇关于php基于闭包实现函数的自调用(递归)实例分析的文章就讲到这里了,如果你想了解更多关于php基于闭包实现函数的自调用(递归)实例分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com