首页 > 解决方案 > PHP Mysql查询数组分配给变量并在另一个数组中使用

问题描述

我正在尝试使用从 mysql 查询中收集的数组作为变量。我希望这个变量在另一个数组中使用。代码如下。

$sql = "SELECT GROUP_CONCAT(Username SEPARATOR ', ') AS Username FROM manage";
$result = $connect->query($sql);
while($row = $result->fetch_assoc()) {
    $test[] = $row["Username"];      
}    
// Grab Random User From Array    
$a = [user1, user2, user3];
$buyer = $a[mt_rand(0, count($a) - 1)];    
echo $buyer;

上面的代码显示了一个随机用户。

现在,我想获取$test[]数组并填充$a数组来完成同样的事情!

像这样:

$a = [$test];

知道如何做到这一点吗?

谢谢马克

标签: phpmysqlarrays

解决方案


我不确定您为什么GROUP_CONCAT在查询中使用,因为它会将所有用户名放入一个字符串中。也不需要使用中间变量 ( $test),您可以将用户名直接存储到$a. 最后,shuffle是从数组中获取随机值的更好方法。试试这个:

$sql = "SELECT Username FROM manage";
$result = $connect->query($sql);
while($row = $result->fetch_assoc()) {
    $a[] = $row["Username"];      
}    
// Grab Random User From Array   
shuffle($a); 
$buyer = $a[0];
echo $buyer;

推荐阅读