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