递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。 下面跟着小编一起来学习递归吧。
递归思想就是,把一个相对复杂的问题(原始问题)转化为一个个与原问题相似的规模较小的问题(子问题)来解决,等一个个小问题解决了,最终的大问题自然就解决了。递归方法只需少量的程序就可描述出解题过程所需要的多次重复计算,大大减少程序的代码量。当然,递归函数也不完美,有一定的缺点,那就是递归函数的运行效率不高。
在 PHP 中递归层数也不是没有限制的,这与程序的内存限额有关,PHP5允许一个程序使用128M的内存,因此当递归层数过大导致128M内存耗尽时,程序就会产生一个致命错误并退出。PHP7允许使用256M的内存。
递归函数就是在函数内部自己调用自己。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。所以递归要有两个要素,结束条件与递推关系。
注:函数在被调用执行的过程中会在内存里面分配空间用于存储临时数据,那么函数在执行过程中默认之间是没有联系的(除了静态变量,按引用传,全局变量)。里面的变量默认都是局部变量,相互之间没有影响。我们来看一个例子加深印象:
立即学习“PHP免费学习笔记(深入)”;
登录后复制
这个例子是不是有点眼熟,这就是斐波那契数列,我们计算斐波那契数列的时候,如果使用其他方法相较而言还是有一定难度的,但是使用递归函数,效率就高了很多。
推荐教程:《PHP视频教程》
以上就是手把手教你学php递归函数的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2518062.html