関数に return ステートメントがあります。
function fun($result)
{
$counter = 0;
while($row=mysql_fetch_array($result))
{
/*if($counter==2)
{
return $name;
}*/
$user=$row['message'];
$sql2="select username from members where id='$user'";
$result2=mysql_query($sql2);
$row2=mysql_fetch_array($result2);
$name .= $row2['username']." and ";
$counter++;
if($counter==2)
{
return $name;
}
}
}
return ブロック (コメント付き) は機能せず、条件に関係なく関数の実行をすぐに終了します。しかし、コードに示されているように配置されている場合、return ブロックは正常に機能します。なんで?2行だけ返したい。カウンターの値にもよるので前後どちらに置いても動くはずです。$name 変数に新しい行を追加する前に条件を確認してください。最初の行が $name に追加され、$counter がインクリメントされます。その後、条件を確認してください。何が問題なのですか?