Heim  >  Artikel  >  Backend-Entwicklung  >  辛星与你解读PHP的递归

辛星与你解读PHP的递归

WBOY
WBOYOriginal
2016-06-13 12:03:10997Durchsuche

辛星与您解读PHP的递归

     其实递归放到其他编程语言里面可能是初学函数的一个练习题,但是由于PHP的特殊性,我们把它拿出来专门讲解一下,首先说一下什么是递归把,我最早认识递归是求一个数的阶乘,比如我们写一个函数,然后求它的阶乘是多少。

    看下面的PHP代码:

<?php //求n!的值function xin($n){	if($n > 0){		return $n *xin($n -1 );	}else{		return 1;	}}echo xin(4);
 它的输出结果当然是24了,什么意思呢,很简单,我们给xin函数传递一个值,如果它比0大,那么就用它去乘以调用$n-1的xin函数的结果,当然,读者可能有N种方式去计算n的阶乘的计算方式,但是无疑,这是用递归来计算的一种。

     可以看出,PHP中的递归是很类似与高中学习的数学归纳法的,原理非常简单易懂。它的大致步骤就是首先判断是否需要向下递归,如果是的话,给出一个规则,如果不能,需要及时的返回,把控制权交给它的调用者,基本原理就讲这么多了,还有事,先写到这里。


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn