Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Modyfikacja skryptu losowania liczb
yorgwarez
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 3.04.2010

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


Witam wszystkich forumowiczów,
Jestem początkującym programistą php i stawiam dopiero pierwsze kroki. Obecnie zajmuję się generatorem liczb losowych bez powtarzania.

Mam stworzone oto coś takiego:

  1. <?php
  2. // Tworzymy tablice ze zdefiniowanymi liczbami do wylosowania
  3. $cfg['list'] = array_flip(range(1, 12));
  4.  
  5. // Losowanie
  6. $tmp['random'] = array_rand($cfg['list'], 2); // Drugi parametr odpowiada za ilość elementów, które mają zostać wylosowane
  7. // Sortowanie
  8. sort($tmp['random']);
  9. // Throw
  10. echo implode(', ', $tmp['random']);
  11. ?>


Zastanawiam się teraz i już 3 dzień nie mogę znaleźć rozwiązania, co zrobić, aby skrypt mógł np. wypisać pary liczb ze wszystkich elementów tej tablicy jaka jest tworzona i wyrzucił je na ekranie w sposób, że w każdej linijce znajduje się para liczb: LICZBA 1 - LICZBA 2 i w następnych linijkach poniżej kolejne pary liczb, oczywiście bez powtarzania i tak by powstały pary ze wszystkich elementów tworzonej tablicy. Czy trzeba jakąś pętlę wrzucić do skryptu? Ktoś mógłby mi pomóc i pokazać na przykładzie? Z góry dziękuję za pomoc:) Pozdrawiam Wszystkich Forumowiczów (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Cytat(sada @ 27.08.2011, 10:40:09 ) *
@peter13135
$i<9 bo zabraknie towaru (IMG:style_emoticons/default/biggrin.gif)
bo ostatni element tablicy ma index 9


Racja (IMG:style_emoticons/default/wink.gif)


W takim razie pomieszaj tę tablicę, i dopiero potem puść do pętli. Zobacz jak działa ten skrypt:
  1. <?
  2. $a = range(1,20);
  3. shuffle($a);
  4. print_r($a);
  5. ?>
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: 5.04.2026 - 16:40