刚刚遇到一个我认为这是解决方案的问题。
目前我有以下代码:
function siteUsers()
{
global $database;
$q = "SELECT username, id FROM ".TBL_USERS."";
return mysql_query($q, $this->connection);
}
function generateUserArray()
{
$u = array();
$i = array();
$result = $this->siteUsers();
while( $row=mysql_fetch_assoc($result))
{
$u[] = $row['username'];
$i[] = $row['id'];
}
return $u, $i;
}
正如你所看到的,当我继续使用foreach时,你和我分开了。 无论如何我可以把它们放在一起吗?
foreach ($u as $username) {
echo"<option value='$i'>$username</option>";
}
我需要将选项值作为id,将视觉值作为用户名。 这可能吗? 感谢
答案 0 :(得分:4)
使用将ID链接到用户名的关联数组。我在这里假设ID是唯一的。
$users = array();
while( $row=mysql_fetch_assoc($result))
{
$users[$row['id']] = $row['username'];
}
return $users;
然后:
foreach ($users as $id => $username)
{
echo "<option value='$id'>$username</option>";
}
答案 1 :(得分:0)
foreach($u as $idx => $username)
{
echo"<option value='".$i[$idx]."'>$username</option>";
}
假设长度相等并且php函数可以返回两个值:\