用递归替换循环

时间:2012-11-25 00:31:11

标签: php optimization loops recursion

我想问一下,如何使用递归方式为php函数fibonacci制作php代码。没有“for”循环。我有这样的代码,没有'for'怎么样? 谢谢你们,

<?php function fibo($n){
if($n==0)
    return 0;
elseif($n==1)
    return 1;
else
    $tambah=fibo($n-1)+fibo($n-2);
    return $tambah;
    }

for($n=0;$n<15;$n++){
    echo fibo($n)."<br/>";}

1 个答案:

答案 0 :(得分:1)

function repeat($func, $times) {
    if ($times <= 0) {
        return;
    }
    $func($times);
    repeat($func, $times - 1);
}

$f = function($n) {
    echo fibo($n)."<br/>";
};

repeat($f, 15);

demo http://codepad.viper-7.com/F9TKPS