2012-02-17 5 views
0

私は別の関数でそれをエコーするために関数の値を返そうとしています<ここにコードです。関数内に多くのリターンを実行していますか?

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

return $test; 
} 

他の関数とこの関数の結果をエコーすると、forループの最初の結果のみが表示されます。コードの何が間違っていますか?

+0

郵便あなたのコードの残りの部分を。 – j08691

答えて

6

returnステートメントをforループの外側に移動する必要があります。

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

return $test; 

return文はすぐに現在の関数の実行を終了し、関数呼び出しの値として、その引数を返します。だけreturn一度のことができます。

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

は、ループの外あなたのリターンを入れてください。 Returnは、現在の関数の実行を終了します。 、だけreturn一度

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

forループの外側戻し入れ:echo結果に、これを行う

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