Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывода в случайном порядке, Как сделать без повторений? 
:(
    Опции темы
Lloyd
Дата 21.7.2003, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 19.7.2003

Репутация: нет
Всего: нет



Доброе время суток!

Код для вывода ссылок из base.dat в случайном порядке:

<?php
function Random()
{
$base = 'base.dat';
$FILE = file("$base");
$rand = rand(0, count($FILE)-1);
$randtext = $FILE[$rand];

return $randtext;
}
?>

<?=Random(); ?>
<?=Random(); ?>
<?=Random(); ?>
<?=Random(); ?>
# ну и так далее...


Ну вот проблема - данные выводятся в случайном порядке, но с повторениями. Чтобы сюда добавить, чтобы исключить повторы?

Спасибо.
PM MAIL   Вверх
arial
Дата 21.7.2003, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Перед исполнением rand () рекомендуется выполнить инициализацию генератора случайных чисел функцией srand () например так:
Код
srand ((double) microtime () * 1000000);
А чтобы исключить повторения сделай простую проверку if.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Vaulter
Дата 21.7.2003, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Lloyd
алгоритм такой:
1.сначала все запихиваешь в массив
2.потом есть ф-я перемешивания массива
3.выводишь (или че там делаешь)


--------------------
PM MAIL WWW ICQ   Вверх
arial
Дата 21.7.2003, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Еще решение - когда ты вот этой своей функцией выводиш ссылку, ты прописываеш ее имя в некий массив. А следующий рандом проверяет, если в массиве уже прописана эта ссылка - перерандомить снова, и т.д.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.