我正在上课,我有这个功能。我不知道错误在哪里,但函数根本没有“返回”任何东西,但是如果我改变“echo”的“返回”它会显示正确的结果,并且逻辑似乎正在工作,所以我有点困惑。谢谢你。
public function myFunction(array $haystack, $needle)
{
foreach($haystack as $key => $value )
{
if (is_array($value))
{
$this->myFunction($value, $needle);
}
else
{
if($key == $needle)
{
return $value;
break;
}
}
}
答案 0 :(得分:0)
在递归函数调用之前,你错过了return
。
return $this->myFunction($value, $needle);
这是通过调用堆栈返回结果所必需的。