![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem z losowaniem liczb, które są umieszczone w tablicy.
Chciałbym móc wylosować 5 liczb - z tym, że losowanie między tablicy "a", "b", "c" może się powtarzać, ale wylosowane liczby w tych tablicach już nie. Na przykład wylosowałem: 1, 2, 3, 4, 7 z tablicy "a" liczby: 1, 3, 7 z tablicy "c" liczby: 2, 4 ale może być również: 1, 1, 1, 4, 6 z tablicy "a" liczby: 1, 6 z tablicy "b" liczby: 1 z tablicy "c" liczby: 1, 4 Próbowałem na rózne sposoby array_rand(), ale niestety efekty nie były zadowalające. Prosiłbym o jakieś wskazówki, jak zabrać się za to losowanie. Pozdrawiam Ten post edytował Dj.Crack 9.03.2013, 14:37:46 |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze raz array_rand()
to działa sprawdzałem Daj jakiś kod jak sprawdzałeś Ten post edytował ber32 9.03.2013, 15:38:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze raz array_rand() to działa sprawdzałem Daj jakiś kod jak sprawdzałeś powyższy kod losuje 5 liczb - jednak tylko albo z tabeli "a", albo z "b", albo z "c". Mi zalezy jednak na tym, żeby losował ze wszystkich (z tym, że dana liczba z danej tabeli nie powtarza się). Ten post edytował Dj.Crack 9.03.2013, 16:06:25 |
|
|
![]() ![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem gotowca jak o toki kod chodzi.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
hmm, ale tutaj z automatu narzucasz, że z pierwszej tablicy będzie jedna liczba
z drugiej tablicy dwie liczby i z trzeciej tablicy równiej dwie liczby. Tak więc w żadnym wypadku nie można mówić tutaj o pełnej losowości... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
możesz jeszcze do tego użyć shuffle();
to moia propozycja, a ty zrób co chcesz zapomniałem możesz jeszcze powiedzieć co to jest pełna losowość ? Ten post edytował ber32 9.03.2013, 17:10:40 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
możesz jeszcze do tego użyć shuffle(); to moia propozycja, a ty zrób co chcesz Dziękuję za pomoc, ale niestety to nie rozwiązuje problemu. zapomniałem możesz jeszcze powiedzieć co to jest pełna losowość ? to skrót myślowy odnoszący cię do pierwszego postu - czyli w jaki sposób mają być losowane liczby. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc, array_merge_recursive rozwiązuje problem (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Można też użyć np. czegoś takiego:
W tym momencie do zmiennej/tablicy przypisujesz sobie po prostu tą funkcję, np.:
gdzie w powyższym przykładzie wylosowane zostanie 5 liczb z przedziału 0 - 100, bez powtarzania się. Wynikiem funkcji będzie tablica, natomiast jeśli jako ostatni parametr podasz false, zwrócony zostanie string - liczby po przecinku. (IMG:style_emoticons/default/wink.gif) Ten post edytował Michael2318 9.03.2013, 21:09:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:57 |