Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Generowanie luczb losowych, Generowanie luczb losowych
telepawel
post 9.10.2004, 13:26:26
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 11.05.2003

Ostrzeżenie: (0%)
-----


Witam

Posiadam taki oto problem:

Uzywajac funkcji

  1. <?php
  2. function rando(){
  3. $result = rand(1, 10000000000);
  4. return $result;
  5. }
  6. ?>


otrzymuje losowa liczbe.
Cala funkcja uzywana jest w petli while

  1. <?php
  2. while(waurnki){
  3. $rando = rando();
  4. mysql_query(&#092;"INSERT INTO test VALUES(\"$rando\"));
  5. }
  6. ?>


Jak to zrobic aby za kazdym posunieciem petli byl inny numer ?

Pozdrawiam

Ten post edytował telepawel 9.10.2004, 13:27:53
Go to the top of the page
+Quote Post
vinvega
post 9.10.2004, 13:51:21
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.09.2004

Ostrzeżenie: (0%)
-----


Cytat
Kod
srand(time());


z tego co mi wiadomo to od wersji php 4.2.0 nie trzeba uzywac srand() do inicjalizacji generatora liczb losowych. jezeli uzywasz starszej wersji php to radze zainstalowac nowsza... offtopic.gif

a teraz na temat - mozna to zrobic tak:
1. losuje liczbe
2. sprawdza w tablicy pomocniczej czy istnieje taki element (np array_search())
3. jezeli nie to dodaje element do tej tablicy na koniec (array_push()) i dodaje do bazy
4. jezeli tak to do pktu 1.

w ten sposob w bazie beda tylko wartosci unikalne (ale nie za kazdym posunieciem petli inny numer), ale moze da sie to zrobic prosciej...
Go to the top of the page
+Quote Post
hwao
post 9.10.2004, 14:19:12
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




http://forum.php.pl/index.php?showtopic=21698
Mozesz przerobic moj kod i bedziesz mial jak chcesz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:26