Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak niedopuścić do powtarzania liczby?
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

Nie chcę aby liczby się powtarzały, jak to zrobić?

  1. $i = 0;
  2. while($i <= 16)
  3. {
  4. $liczba = rand(0, count($tabela));
  5. //inna czynność która musi być w tej pętli
  6. $i++;
  7. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Problem w tamtym skrypcie jest taki, że gdy liczba jest w tablicy losuje kolejną i w końcowym wyniku nie będzie dokładnie tyle wylosowanych liczb ile zakłada programista.

To trzeba bardziej rozbudować, napisałem Ci coś takiego:
  1. <?php
  2.  
  3. $x = 1; // Przedział - od
  4. $y = 7; // Przedział - do
  5.  
  6. $z = 3; // Ilość liczb
  7.  
  8. function los(&$x, &$y, &$z) {
  9. static $v=0;
  10. static $arr=array();
  11.  
  12. if ($z != $v) {
  13. $l = rand($x, $y);
  14. if (!in_array($l, $arr)) {
  15. $arr[] = $l;
  16. $v++;
  17. }
  18.  
  19. los($x, $y, $z);
  20. }
  21.  
  22. return $arr;
  23. }
  24.  
  25. echo '<pre>';
  26. print_r(los($x, $y, $z));
  27.  
  28. ?>
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: 11.10.2025 - 17:35