我将下面的函数放在一个类中
我尝试在这个函数中再次调用它(我在这个函数$this中进行了递归调用-
只有在没有递归调用的情况下,该函数才能工作,否则它不会返回任何值。
// menu builder function, parent_id 0 is the root
function buildMenu($parent_id, $menuData)
{
$this->html = '';
if (isset($menuData['parents'][$parent_id]))
{
if($parent_id=='0') $this->html = '<ul class="menu responsive-menu sf-js-enabled">';
else $this->html = '<ul>';
foreach ($menuData['parents'][$parent_id] as $this->itemId)
{
if($this->itemId=='1'){$this->html .= '<li><a href="'.PATH.'">' . $menuData['items'][$this->itemId]['menu_name'].'</a>';}
else $this->html .= '<li class=""><a href="?action='. md5($menuData['items'][$this->itemId]['menu_link']).'">' . $menuData['items'][$this->itemId]['menu_name'].'</a>';
$this->html .= $this->buildMenu($this->itemId, $menuData);
$this->html .= '</li>';
}
$this->html .= '</ul>';
}
return $this->html;
}
首先,更换此-
问题可能在于此-
问题内容: 是否可以具有递归和匿名的PHP函数?这是我尝试使其工作,但未传入函数名称。 我还知道这是实现阶乘的一种不好方法,这只是一个例子。 问题答案: 为了使其正常工作,您需要传递$ factorial作为参考
使用以下代码: 为什么这个输出: 而不是我所期望的,那就是: 我讨厌递归。我讨厌递归。我讨厌递归。谢谢
我正在编写一个递归函数,如下所示: 此函数用于接收员工并查找其管理者。如果找到管理器,则将管理器id推送到数组中($)- 所以我的问题是,如果我不在第6行返回递归调用(这是-
考虑Python中的这个基本递归: 根据斐波那契数列的(n-1)(n-2)函数,这是有道理的。 Python如何执行包含另一个递归的递归,这个递归不在同一代码行内,而是在同一代码行内?“finobacci(number-1)”是否完成所有递归,直到它到达“1”,然后它对“fibonacci(number-2)”做同样的事情,并将它们相加? 作为比较,下面的递归函数将一个数“x”提升为“y”的幂,我
问题 你想在一个函数中调用相同的函数。 解决方案 使用一个命名函数: ping = -> console.log "Pinged" setTimeout ping, 1000 若为未命名函数,则使用 @arguments.callee@: delay = 1000 setTimeout((-> console.log "Pinged" setTimeout arg
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),