перетасовка из массива с помощью mysql

#php #mysql #arrays #random

#php #mysql #массивы #Случайный

Вопрос:

Здесь мне нужна некоторая помощь.

У меня есть таблица mysql под названием dictionary, подобная этой:

 id  word
1 test
2 hello
4 bye
7 werd
  

В php я хочу запросить базу данных, чтобы я мог получить массив поля id

таким образом, в массиве будет отображаться 1 2 4 7.

С помощью этого массива я хочу запустить функцию array_rand в php, чтобы я мог получить случайное число из 1 2 4 7.

Может кто-нибудь показать мне правильный запрос mysql, чтобы перечислить поле id и вернуть его в php в виде массива? и как я мог бы запустить этот массив с помощью функции случайного массива.

Ответ №1:

Нет необходимости перетасовывать это в php, — эффективным является

используйте «ВЫБРАТЬ идентификатор ИЗ таблицы ORDER С ПОМОЩЬЮ rand();»

затем возьмите все записи и сохраните id в массиве …

Ответ №2:

Используйте функцию shuffle

Ответ №3:

Если вы планируете использовать случайную строку, а затем запросить другую, я бы просто произвел рандомизацию в запросе MySQL. Получите количество строк в таблице, создайте случайное целое число где-то между 0 и этим количеством, а затем используйте LIMIT в вашем запросе MySQL, чтобы вернуть случайную строку.

Если вы планируете хранить все это в памяти, то ответ Дэвида сработал бы лучше.