| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Нужно выбрать один случайный!!! элемент массива |
| Автор: slang 9.6.2007, 05:06 |
| Не могу сообразить как реализовать такую весчь... Есть многомерный ассоциативный массив, например test[kod][name]. В нем могут повторяться name (одно название теста для нескольких вариантов). Мне необходимо оставить один элемент массива из повторяющихся, при этом это должен быть СЛУЧАЙНЫЙ выбор, а не результат array_unique(). |
| Автор: slang 9.6.2007, 06:57 |
| Вроде "дошло", как это сделать, по крайней мере на стадии алгоритма вроде понятно: 1. Выбрать из БД список тестов (только наименование) в массив test_name 2. Удалить повторяющиеся значения из массива test_name 3. Выбрать из БД все элементы, равные test_name(n) и занести в массив test_id значения id из БД 4. Перемешать элементы массива test_id 5. Вернуть значение первого элемента test_id для вывода теста 6. Перейти к 3-му пункту |
| Автор: Golda 9.6.2007, 19:40 |
| см. http://www.php.net/manual/en/function.array-rand.php |
| Автор: slang 10.6.2007, 08:11 | ||||
Вот, примерно, что получается:
array_rand - удобная функция, но в моем случае, она заменяет только последние две строки последней функции:
так как она ведь не может выбрать случайное среди повторяющихся |