![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 24.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pewien problem z funkcją array_rand. Chodzi o losowanie sześciu liczb z zakresu od 1 do 49. Kod wygląda tak Kod for ($i = 0; $i < 1000; $i++){ $liczby = range(1,49); $wynik = array_rand($liczby,6); foreach($wynik as $liczba) { echo $liczby[$liczba]; echo ' '; } echo ' '; } Na stronie wyświetla się 1000 wyników. Problem w tym, że tylko ~700 wyników jest unikalnych, reszta to dokładnie takie same wyniki jak te pierwsze 700, są nawet wyświetlanie w takiej samej kolejności. Jeśli skopiuję kilka wyników i przeładuję stronę (czyli wyniki powinny zostać wylosowane na nowo) okazuje się, że wylosowane zostały znów te same wyniki (zupełnie jakby "pamięć" programu losującego została zapchana i ciągle losuje te same wyniki). Dlaczego tak się dzieje, da się to jakoś obejść? I druga sprawa, dlaczego niektóry wyniki nie są wyświetlane od najmniejsze do największej liczby (większość jest wyświetlona dobrze)? Pozdrawiam i z góry dziękuje za odpowiedzi. EDIT: Jeśli ma to jakieś znaczenie to korzystam z Krasnala w wersji 2.7. Ten post edytował sarq18 24.07.2008, 11:51:57 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 01:20 |