多维数组

时间:2010-11-28 16:38:48

标签: php

刚刚遇到一个我认为这是解决方案的问题。

目前我有以下代码:

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,将视觉值作为用户名。 这可能吗? 感谢

2 个答案:

答案 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函数可以返回两个值:\