在函数中做很多返回?

时间:2012-02-17 19:34:25

标签: php for-loop

我正在尝试返回一个函数的值,以便用另一个函数回显它<这是代码。

foreach($id as $sid){
$test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';

return $test;
}

使用另一个函数我回显此函数的结果,这样做时它只显示for循环的第一个结果。代码有什么问题?

3 个答案:

答案 0 :(得分:6)

您需要将return语句移到for循环之外。

foreach($id as $sid){
    $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}

return $test;

return语句立即结束当前函数的执行,并将其参数作为函数调用的值返回。

答案 1 :(得分:2)

将你的回报放在循环之外:

foreach($id as $sid){
  $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}
return $test;

答案 2 :(得分:1)

您只能return一次。 Return结束当前函数的执行。要echo结果,请执行以下操作:

foreach($id as $sid){
    echo '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}

return一次,将回报放在for循环之外:

foreach($id as $sid){
    $test .= '<li '.$class.'><a href="'.$post_link.'">'.$post_title.'</a></li>';
}
return $test;