whileループで関数を呼び出すと、なぜ私のループが壊れますか?なぜwhileループで別の関数を使用すると、それは壊れていますか?
デフォルトでは、3つの結果が必要ですが、この場合、1つの結果しか返さないため、真の方法でそれを行うことができますか?
function pchat()
{
$result = $dp->sql_query("SELECT * FROM ".TBL_PCHAT." WHERE 1 ORDER BY id ASC LIMIT 5");
$r = array();
while (while($data = $dp->sql_fetchrow())
{
$r[] = cavatar($data["sID"]); // calling other function make 1 return result ?!
AND
$r[] = $data["sID"]; // with this one return all 3 rsults.
}
return $r;
}
function cavatar($id)
{
$result = $dp->sql_query("SELECT avatar FROM ".TBL_USERS." WHERE id = $id");
$data = $dp->sql_fetchrow();
if($data){
return $data['avatar'];
}else{
return 'noavatar.png';
}
}
一度に1つの行を 'r []'配列から引き抜こうとしていますか? TBL_USERS(関数cavatarによって返される)?その場合は、毎回whileループで配列を上書きします。あなたは 'array_push($ r、cavatar($ data [" SID "]))'を試すことができます。 – blackpen