Массив запросов PHP Mysql, присвоенный переменной и используемый в другом массиве

#php #mysql #arrays

#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];
  

Есть идеи, как этого добиться?

спасибо marc

Комментарии:

1. Что делает GROUP_CONCAT, если вы ни по чему не сгруппировали?

Ответ №1:

Я не уверен, почему вы используете 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;