Php 用递归替换循环
我想问,如何用递归的方法为php函数fibonacci编写php代码。没有“for”循环。我有这样的代码,没有“for”怎么样? 谢谢各位Php 用递归替换循环,php,optimization,loops,recursion,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
<?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/>";}
函数重复($func,$times){
如果($times A while loop?不清楚你在问什么。你已经有了一个递归定义。另外,如果你对优化代码感兴趣,那么PHP中的递归可能是个坏主意。我读这个问题的方式是,他想知道如何使用递归替换循环。请记住,在某些编程语言中,你别无选择ut使用递归进行循环,因为没有循环构造之类的东西。可能是因为我发布了未经测试但不起作用的代码:)它现在起作用了。@kellax是的,但这个解决方案非常通用。是的,很好的解决方案@rambocoder。感谢您添加了+1来平衡好的anwser。
function repeat($func, $times) {
if ($times <= 0) {
return;
}
$func($times);
repeat($func, $times - 1);
}
$f = function($n) {
echo fibo($n)."<br/>";
};
repeat($f, 15);