![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chcę wygenerować np. 10 losowych liczb z przedziału 1-1000. Funkcja rand() generuje jedną liczbę - mogę ją wrzucić w pętlę, ale będę musiał sprawdzać, czy nie wygenerowałem tych samych liczb.
Jest jakaś funkcja do generowania kliku liczb z zadanego zakresu? Ten post edytował klepacz_php 13.09.2006, 14:44:38 |
|
|
![]()
Post
#2
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Robione na szybko
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Generujesz pojedyncze liczby i wrzucasz je do tablicy, sprawdzając, czy już ich w niej nie ma (in_array()).
Jest drugi sposób, ale dla praedziału 1-1000 mało optymalny: generujesz tablicę z liczbami od 1 do 1000 (nie pamiętam teraz funkcji, więc sobie poszukaj), przetasowujesz ją (shuffle()) i pobierasz pierwszych 10 elementów. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś w Cormenie, czy jakiejś innej książeczce, było coś takiego:
[php] function uniqRand ( $min, $max, $count ) { $retArray = array ( ); for ( $i=0; $i<$count; ++$i ) { |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:30 |