#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, чтобы вернуть случайную строку.
Если вы планируете хранить все это в памяти, то ответ Дэвида сработал бы лучше.