![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 3 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam mam problem z funkcją rand.. losuje liczy np z przedziłu 1,60000 i bardzo często jest losowana liczba która już była wylosowana tak jak by ta liczba się 'keszowała' czy coś.. oczyiście taki problem nmam na komercyjnym serwerze -> linuxpl.com mógłby mi ktoś poradzić czy to błąd czy co albo w jaki inny sposób uzyskać jak najbardziej losowe liczby z danych przedziałów..
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 3 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
mt_rand nic mi nie daje..
co do tego srand nie wiem co to daje ale zauważyłem że jeśli w ciągu 1 sek odświeżę str 2x to losuje tą samą liczbę :|... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 24 Dołączył: 21.05.2010 Ostrzeżenie: (30%) ![]() ![]() |
mt_rand nic mi nie daje.. co do tego srand nie wiem co to daje ale zauważyłem że jeśli w ciągu 1 sek odświeżę str 2x to losuje tą samą liczbę :|... Widocznie tak jak pisal yevaud, w PHP randomizer jest automatycznie resetowany, wiec funkcja srand() nie ma sensu. Ale do czego ona sluzy np w c++, ano rand() dziala na tej zasadzie, ze pobiera czas z jadra systemu i na tej podstawie generuje liczby losowe, ale ma to taka wade, ze ten czas pobierany jest tylko za pierwszym razem, wiec ciag liczb jest powtarzalny, dlatego ustawia sie randomizer reczenie srand(time()) przed kazdym wywolaniem rand(), gdzie time() to poprostu czas-> klucz wedlug ktorego sa losowane liczby, dlatego w ciagu tej 1sek masz te same liczby, ale jakbys dal w srand() np. czas co do 1 milisekundy, wtedy by ten problem zniknal. Tak bylo w c++ (IMG:style_emoticons/default/smile.gif) Pisze ogolnie, nie jestem specem - poprostu tak to rozumiem (IMG:style_emoticons/default/smile.gif) Ten post edytował lepmajster 21.06.2010, 17:21:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 22:21 |