爲什麼當我在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';
}
}
你是否試圖從一個行拉到'r []'數組從TBL_USERS(由函數cavatar返回)?如果是這樣,你每次都在while循環中覆蓋數組。你可以嘗試'array_push($ r,cavatar($ data [「SID」]))''。 – blackpen