将用户名和用户ID转换为一个数组。

18 浏览
0 Comments

将用户名和用户ID转换为一个数组。

我想要我的数组,类似于这样:

array("userid"=>"username","1"=>"ganeshfriends","2"=>"tester")

MySQL查询类似于这样:

$query = select username, userid from tbluser
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
    $items = array($row['userid']=>$row['username']);
}
print_r($items);

我该如何让userid作为键,username作为值呢?

0
0 Comments

问题的原因是在while循环的每个迭代中,删除并重新分配结果数组($items)。这导致每次循环都会创建一个新的数组,而不是在现有数组上进行追加。

解决方法是将数组($items)的声明放在while循环之前,并在循环内部使用索引将每个用户名(username)与用户ID(userid)关联起来。

以下是修复后的代码:

$items=array(); // 在while循环之前声明数组
while($row = mysql_fetch_array($result)){
    $items[$row['userid']]=$row['username']; // 使用索引将用户名与用户ID关联起来
}
print_r($items);

这样做可以确保在每个循环迭代中,用户名和用户ID都会被添加到同一个数组中,而不是创建一个新的数组。这样就可以正确地将用户名和用户ID存储为数组的键值对。

0
0 Comments

问题的出现原因:

在这段代码中,问题的出现是因为开发人员想要将从SQL查询结果中获取的用户名和用户ID存储在一个数组中。为了使代码更加清晰易读,开发人员选择将用户名和用户ID分别赋值给变量,然后将它们存储在一个名为$items的数组中。

解决方法:

为了实现将用户名和用户ID存储在数组中的目标,开发人员采取了以下解决方法:

1. 首先,定义一个SQL查询语句,该语句从tbluser表中选择用户名和用户ID。

2. 使用mysql_query函数执行查询,并将结果赋值给变量$result。

3. 使用while循环遍历查询结果。在每次迭代中,将当前行的用户ID和用户名分别赋值给变量$userid和$username。

4. 创建一个名为$items的数组,并使用用户ID作为键,用户名作为值,将它们存储在数组中。

5. 最后,使用print_r函数打印出$items数组的内容,以便查看结果。

通过以上解决方法,开发人员成功将用户名和用户ID存储在一个数组中,并通过print_r函数输出了数组的内容。这样做不仅使代码更易读,还避免了嵌套的括号。

0
0 Comments

问题出现的原因是需要将数据库中的username和userid转换成一个数组。

解决方法是使用上述代码将username和userid转换成一个数组。

0