Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Znowu liczby losowe, tym razem z wykluczeniem liczb z tablicy
uglukha
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

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


Witajcie,
mam następny problem z losowaniem liczb. Losuję liczbę z przedziału 1 do $ilosc. Chciałbym, aby liczba losowała się od nowa, jeśli wylosowana liczba jest już w $dane.

$dane to ciąg tego typu 4,3,7,21,23

Napisałem na razie tyle, i nie wiem jak to dalej ugryźć

  1. $ilosc = 100
  2. $tablica = explode(",", $dane);
  3.  
  4. $elementy = count($tablica)
  5.  
  6. for( $x = 0; $x < $elementy; $x++ ) {
  7.  
  8. $losuj=rand(1,$ilosc);
  9. //i co dalej
  10.  
  11. }


Będę wdzięczny za nakierowanie,
Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

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


Co do array_rand z 2-gim parametrem - taka wątpliwość:
Ta funkcja wybierze losową liczbę z tej tablicy.
Sądzę, że chodzi o coś innego: Ta tablica to lista wartości "zakazanych" (które już wylosowano).

Jeżeli tak, to musisz:
1. Po wylosowaniu liczby sprawdzić funkcją in_array, czy ta liczba jest w tablicy "wartości zakazanych".
2. Jeżeli tak, to zostajesz w pętli i losujesz następny raz.
3. Jeżeli nie, to
- dopisz tę liczbę do listy "zakazanych",
- zwróć ją.

Ten post edytował Valdi_B 24.02.2011, 20:50:29
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 18:58