我有一个函数,我用PHP编写的问题。正如你所看到的,函数使用它自己来返回值的数组。函数变成无限循环
public function getRepeat($day = "array")
{
if ($day == 'array')
{//Return an array with the repeated days as values
foreach (array(1,2,3,4,5,6,0) as $value)
{
if ($this->getRepeat($value))
{
$returnArray[] = $value;
}
}
return $returnArray;
}
else if (in_array($day, array(1,2,3,4,5,6,0)))
{
if ($day == 1)
return $this->repeat1;
if ($day == 2)
return $this->repeat2;
if ($day == 3)
return $this->repeat3;
if ($day == 4)
return $this->repeat4;
if ($day == 5)
return $this->repeat5;
if ($day == 6)
return $this->repeat6;
if ($day == 0)
return $this->repeat0;
}
}
只要它自己调用以获得每个变量,它就会变成一个无限循环。
这是什么原因造成的?
这不是真的递归 - 它只是一种砍死允许你可以调用一种方法来做两件事。 – pjp 2009-08-25 21:24:11
编辑出递归部分。谢谢你的启发。 – 2009-08-25 21:33:41