开启辅助访问
QQ登录 自动登录 注册 找回密码
小白货源网 行业资讯 微商资讯 查看内容

PHP递归排序怎么实现的

2019-1-17 15:16| 发布者: 从前有座山| 查看: 903| 评论: 0|原作者: adminm|来自: 小白基地

摘要: 递归是函数本身直接或者间接地调用自身的一种编程方法,也可以理解为有反复执行过程的一种方法。PHP递归排序也是PHP递归算法,有三种方法可以实现分别是:静态变量、全局变量、引用传参。
本篇文章主要给大家介绍PHP递归排序也是PHP递归算法的三种实现方法。



递归算法对于任何一个编程人员来说,应该都不陌生。因为递归这个概念,无论是在PHP语言还是Java等其他编程语言中,都是大多数算法的灵魂。

对于PHP新手来说,递归算法的实现原理可能不容易理解。但是只要你了解掌握了这个算法原理,就可以灵活运用递归算法实现编程中的多种功能比如实现无限分类等。递归也是入门者最需要掌握的一个基础算法技巧。

那究竟什么是递归呢?

递归其实就是函数本身直接或者间接地调用自身的一种编程方法,也可以理解为有反复执行过程的一种方法,这个就与循环非常相似,但是递归调用的函数中必须要有终止条件,也就是一定要有跳出反复执行过程的条件,否则就会成为死循环。

下面我们就通过具体代码示例为大家介绍PHP递归算法也是PHP递归排序的三种实现方法。

方法一:静态变量

<?php function call(){ static $i=1; echo $i.'<br>'; $i++; if ($i<=10){ call(); } } call();这种方法我们主要利用static定义静态变量来实现递归排序。如上我们定义了一个call方法和静态变量$i,如果我们不给$i变量添加判断,而是直接运行,显然就会出现死循环。

所以这里我们添加了一个if条件判断语句。最后循环调用自身方法,结果如下图所示:



如图中所示就是利用静态变量实现递归排序的效果。


方法二:全局变量

$i=1; function call(){ global $i; echo $i; $i++; if($i<=10){ call(); } } call();此种方法主要利用global定义全局变量来实现PHP递归排序。如上我们先定义了一个$i变量,再创建一个call方法,在这个方法中,定义$i为全局变量,那么最后循环调用自身方法结果和上述结果是一样的:

12345678910方法三:引用传参

function call(&$i=1){ echo $i.'<br>'; $i++; if($i<=10){ call($i); } } call();大家在使用这个方法时,可以简单了解下PHP中引用传递的概念:可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。利用引用传参来实现PHP递归排序是最基础简单的一种算法了。

注:在调用自身方法时,一定要将参数传递进去,否则就会报错。

以上就是关于PHP递归算法即递归排序的三种实现方法。希望对需要的朋友有所帮助!

想要了解更多PHP知识,可以关注PHP中文网PHP视频教程,欢迎大家参考学习!以上就是PHP递归排序怎么实现的的详细内容,更多请关注php中文网其它相关文章!


鲜花

握手

雷人

路过

鸡蛋

本站资源全部来自网络和网友分享,如有侵犯您的权益,请联系网站QQ,或发邮件至sibida@foxmail.com。本网站尊重知识产权,无意侵犯知识产品,如有,联系网站人员,会第一时间删除!

小白基地,是小白资源网的官方网站,思必达学院官网,提供最新的创业技术支持与创业资讯,提供最新的思必达教程。是IT小白网友学习资源分享基地,中国互助创业资源网。提供诸如JAVA、PHP、MySQL、ASP、C语言等各类程序开发的教程资源。

返回顶部
法律问题咨询 认证律师 律师文章