[Tutorial][PHP]Gdy mt_rand nie wystarcza-krótko o losowaniu

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
htmlowiecii
Nowy
Nowy
Posty: 86
Rejestracja: sob lip 19, 2008 11:51 am

[Tutorial][PHP]Gdy mt_rand nie wystarcza-krótko o losowaniu

Post autor: htmlowiecii »

Funkcja mt_rand ma pewną wadę - gdy testowałem u siebie tę funkcję wynik jej działania rzadko kiedy przekraczał 2 (nawet gdy górną granicę ustawiłem na ponad 200) dlatego stwierdziłem, że trzeba zrobić skuteczniejsze narzędzie
w tym celu tworze zmienne na których będę operował
[php]<?php
$down=1;//dolna granica
$up=49;//górna granica
$time=time();//czynnik który się zmienia w zależności od czasu,więc umożliwia otrzymanie innego wyniku teraz a za minute innego
?>[/php]
Następnie tworzymy zmienną $a która będzie tylko przejściowo, jednak niezbędna do losowania
[php]<?php
$a=$up-$down;
?>[/php]
Teraz Losujemy poprzez zwrócenie reszty z dzielenia
[php]<?php
$losowana=($time%$a)+$down;
?>[/php]
Tą metodą otrzymamy liczby naturalne, ale otrzymanie ułamka czy liczby ujemnej problemu nie powinno zrobić.
Dziękuję za przeczytanie.Jeśli masz uwagi napisz.
ODPOWIEDZ