Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Bardziej losowa losowość
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!

Chciałbym wiedzieć, jak zrobić bardziej losowe wybieranie liczby. Zazwyczaj używałem rand(), lecz teraz gdy mam do wylosowania 12 liczb w zakresie 1, 9 - czasami liczby się powtarzają...

Więc, jak w temacie: jak zrobić to bardziej losowe?
vokiel
Cytat(thomson89 @ 10.11.2009, 22:59:59 ) *
(...) lecz teraz gdy mam do wylosowania 12 liczb w zakresie 1, 9 - czasami liczby się powtarzają...


Może ja czegoś nie zrozumiałem, ale jeśli masz liczby w zakresie 1-9 a losujesz ich 12, to jako, że 12-9=3 zatem przynajmniej 3 liczby się powtórzą.
thomson89
No a przy 5 liczbach?
black.old.cat
Niestety nic wiecej nie jestem w stanie dla Ciebie zrobic, matematyki nie oszukam.
  1. <?php
  2. $tab = range(1,9);
  3. $tab[9] = rand()%10;
  4. do { $tab[10] = rand()%10; } while($tab[9] == $tab[10]);
  5. do { $tab[11] = rand()%10; } while($tab[9] == $tab[11] || $tab[10] == $tab[11]);
  6. shuffle($tab);
  7. foreach($tab as $a) echo $a.'<br>';
  8. ?>

thomson89
A jak zmieniać ilość liczb w tym?
phpion
Po najmniejszej lini oporu.
  1. $liczby = range(0, 9);
  2.  
  3. shuffle($liczby);
  4.  
  5. $losuj = array_chunk($liczby, 5); // 5 - tyle ma "wylosowac"
  6. print_r($losuj[0]);

Aczkolwiek nie zadowoli Cię mt_rand(1000, 9999) - dla liczb 4-cyfrowych?
thomson89
Nie rozumiem...

EDIT: Dzięki za pomoc!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.