Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Random без повторений

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Random
hilton_413
Отправлено: 29 Июня, 2012 - 03:20:08
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Всем привет ...

Есть N кол-во фотографий которые нужно выводить на страницу рандомом например
20шт, Без повторений...


Здесь нашел хороший пример, но он совсем не тот
http://forum.php.su/printpage.ph...OR&color=yes

т.к он никогда не выведет 30 номер...

PHP:
скопировать код в буфер обмена
  1.  
  2.         $i = 0;
  3.         foreach (glob("photos/small_*.jpg",GLOB_NOSORT) as $lang_btns){
  4.             $i++;                                
  5.         }
  6.        
  7.         function my_random($count, $min, $max){
  8.             if(($max - $min) < $count) $count = $max - $min;
  9.             $arr = array();
  10.             while($count){
  11.                 $number = mt_rand($min, $max);
  12.                 if(!in_array($number, $arr)){
  13.                     echo $arr[] = $number."<br />";
  14.                 }else{
  15.                     $count++;
  16.                 }
  17.             $count--;
  18.         }
  19.     }
  20.    
  21.     my_random($i,0,3);
  22.  

(Отредактировано автором: 29 Июня, 2012 - 03:40:19)

 
 Top
IllusionMH
Отправлено: 29 Июня, 2012 - 03:57:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




hilton_413, по ссылке предложили отличный вариант - перемешать массив используя shuffle
Итого - получаем имена нужных файлов из нужной папки в массив, делаем Канзас-сити шафл и выводим обычным циклом

(Отредактировано автором: 29 Июня, 2012 - 04:00:34)

 
 Top
hilton_413
Отправлено: 29 Июня, 2012 - 05:18:26
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




IllusionMH, Да спасибо, Разобрался shuffle помог....

----------
модер - закрывай форум на ночь... Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB