Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Losowanie liczb z tablicy
znajomy1
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.11.2012

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


Potrzebuję losować liczby z przedziału od 1 do wpisanej z formularza. W wierszu już się nie powtarzają, ale mam problem aby zrobić aby w kolumnie też się nie powtarzały. Mój kod wygląda tak.
  1. <?php
  2. $liczba=$_POST['liczba'];
  3.  
  4. echo "<table bgcolor = \"#000000\" cellspacing = \"1\" cellpadding = \"2\">";
  5. for ($y=0; $y<1; $y++) {
  6. //echo $y;
  7. echo "<tr bgcolor = \"white\" align = \"center\">";
  8. for($u=1;$u<=$liczba;$u++)
  9. {
  10. $tab[] = $u;
  11. $wynik = array();
  12. }
  13.  
  14. for($i=0;$i<$liczba;$i++)
  15. {
  16.  
  17. $lntab = count($tab)-1; /*zapisujemy długość tablicy - 1 ponieważ tablica
  18.   jest indeksowana domyślnie od 0, a count liczy od 1*/
  19. $r = mt_rand(0,$lntab); /*zapisujemy losową liczbę*/
  20. $wynik[$y][$i] = $tab[$r]; /*dodajemy do tablicy wynikowej */
  21. $tab[$r] = $tab[$lntab]; /*w wylosowane miejsce przypisujemy
  22.   ostatni element z tablicy*/
  23. //$tab1[]=$lntab;
  24. unset($tab[$lntab]); /*usuwamy ostatni element*/
  25.  
  26. echo "<td width = \"20\" height = \"20\">";
  27. echo $wynik[$y][$i]."</td>";
  28. $d[]=$wynik[$y][$i];
  29. }
  30. echo "</tr>";
  31. $wynik='';
  32. $tab='';
  33. $y=$y+1;
  34. //echo $y;
  35. if($y>=1){
  36. for($u=1;$u<=$liczba;$u++)
  37. {
  38. $tab[] = $u;
  39. $wynik = array();
  40. }
  41. //echo "<pre>";
  42. //print_r($tab);
  43. //echo "</pre>";
  44. for ($s=0; $s<($liczba*$liczba); $s=$s+$liczba) {
  45. $n[]=$d[$s];
  46.  
  47. }
  48. // echo "<pre>";
  49. $g=$n[0];
  50. unset($tab[$g]);
  51. print_r($tab);
  52. //echo "</pre>";
  53. //echo $n[4];
  54.  
  55. }
  56. }
  57.  
  58. echo "</table>";
  59. echo "<pre>";
  60. print_r($d);
  61. echo "</pre>";
  62.  
  63. ?>


Może podpowie ktoś jak to zrobić. Fragment kodu losującego znalazłem na necie (chyba na tym forum) i dobrze się sprawdza.

Ten post edytował znajomy1 15.11.2012, 11:15:12
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: 18.06.2026 - 03:12