Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt losujący + terminarz
neV
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


Więc znalazłem na tym forum kilka skryptów losujących smile.gif chcaiałbym teraz by stworzył on terminarz. Tzn. każda zmienna z każdą ale żeby nie trafiła na siebie samą, jeśli wiecie o co mi chodzi tongue.gif ... coś jak terminarz np. rozgrywek piłkarskich (tylko naprawde losowany a nie dobierany ^^). Więc narazie mam to i co dalej ?

Kod
<?php
$aRandomizer = array( 'foo', 'bar', 'example', 'some other' );
echo $aRandomizer[array_rand( $aRandomizer, 1)];
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
dtb
post
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


chodzi o cos takiego?
  1. <?php
  2. $ile = (int)count ($array)/2;
  3. $array = array_rand ($array);
  4. for ($i = 0; $i < $ile; $i++)
  5. {
  6. echo $array[$i].' vs '.$array[$i+$ile].'<br/>';
  7. }
  8. ?>


--------------------
Go to the top of the page
+Quote Post
neV
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


Dla takiego kodu

  1. <?php
  2. $array[0] = "a";
  3. $array[1] = "b";
  4. $array[2] = "c";
  5. $ile = (int)count ($array)/2;
  6. $array = array_rand ($array);
  7. for ($i = 0; $i < $ile; $i++)
  8. {
  9. echo $array[$i].' vs '.$array[$i+$ile].'<br/>';
  10. }
  11. ?>


otrzymuje

  1. vs <br/> vs <br/>
Go to the top of the page
+Quote Post
dtb
post
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


moj blad. zle uzylem funckji array_rand
  1. <?php
  2. $array[0] = "a";
  3. $array[1] = "b";
  4. $array[2] = "c";
  5. $array[3] = "d";
  6. $array2 = array_rand ($array);
  7. while (list ($k1, $v1) = each ($array2))
  8. list ($k2, $v2) = each ($array2);
  9. echo $array[$v1].' vs '.$array[$v2].'<br/>';
  10. }
  11. ?>


Ten post edytował dtb 14.01.2006, 13:16:00


--------------------
Go to the top of the page
+Quote Post
neV
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


błąd w 10 linijce.. po usunięciu tego nawiasu :
  1. Warning: Variable passed to each() is not an array or object in /home/oliomega/public_html/venom/admin/terminarz.php on line 7
  2. vs
Go to the top of the page
+Quote Post
vieri_pl
post
Post #6





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Nie powinno być tak:

  1. <?php
  2. $array[0] = "a";
  3. $array[1] = "b";
  4. $array[2] = "c";
  5. $array[3] = "d";
  6. $array2 = array_rand ($array);
  7. while (list ($k1, $v1) = each ($array2))
  8. list ($k2, $v2) = each ($array2);
  9. echo ''.$array[$v1].' vs '.$array[$v2].'<br/>'; //na poczatku dwa pojedyncze apostrofy
  10. }
  11. ?>


Ten post edytował vieri_pl 14.01.2006, 13:31:53
Go to the top of the page
+Quote Post
neV
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


  1. Parse error: parse error, unexpected '}' in /home/oliomega/public_html/venom/admin/terminarz.php on line 10


na moje oko brakuje otwarcia tej klamry

Ten post edytował neV 14.01.2006, 14:01:40
Go to the top of the page
+Quote Post
vieri_pl
post
Post #8





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


Właśnie klamra z linii 10 zamyka coś.. ale co questionmark.gif? Nie ma { dry.gif
Go to the top of the page
+Quote Post
Sabistik
post
Post #9


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


~vieri_pl wez sie lepiej nie odzywaj..
tam brakuje otwierajacek klamry po while. Niestety mi skrypt dtb nie zabardzo dziala wiec napisalem inaczej:
  1. <?php
  2. $array[0] = "a";
  3. $array[1] = "b";
  4. $array[2] = "c";
  5. $array[3] = "d";
  6. $array[4] = "e";
  7.  
  8. for($i=0;$i<count($array)-1;$i++)
  9. {
  10. for($x=0;$x<count($array);$x++)
  11. {
  12. do
  13. {
  14. $r = array_rand($array);
  15. }
  16. while($array[$r] == $array[$x]);
  17. echo $array[$x] .' vs. '. $array[$r].'<br>';
  18. }
  19. }
  20. ?>


1. aha i nie wiem czy to dokladnie o to Ci chodzi. Jak cos to pisz.
2. lekki edit kodu.

Ten post edytował Sabistik 14.01.2006, 15:18:07
Go to the top of the page
+Quote Post
neV
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


Mysle ze zmierzamy w dobrym kierunku winksmiley.jpg
wynik dla 3zm:


Kod
a vs. b <---
b vs. a <---
c vs. a
a vs. b <---
b vs. c
c vs. a


3 razy powtorzylo sie a z b.. chodzi mi o to by jedna para byla tylko raz wypisana czyli dla tych zmiennych np. cos takiego:

a vs. c
c vs. b
b vs. a

nie znam sie za bardzo na php ale wydaje mi sie ze 1 zmienna moze byc wylosowana x-1 razy gdzie x to ilosc zmiennych (o ile nie jest to oczywiste icokolwiek pomoze smile.gif)

Ten post edytował neV 14.01.2006, 17:37:40
Go to the top of the page
+Quote Post
Sabistik
post
Post #11


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


  1. <?php
  2.  
  3. $array[0] = "a";
  4. $array[1] = "b";
  5. $array[2] = "c";
  6. $array[3] = "d";
  7.  
  8.  
  9. $tab = $array; 
  10. for($i=0;$i<count($array)-1;$i++)
  11. {
  12. while(!empty($tab))
  13. {
  14. unset($tab[array_search($array[$i], $tab)]);
  15. $los = array_rand($tab);
  16. echo $array[$i].' - '. $tab[$los].'<br>';
  17. unset($tab[$los]);
  18. }
  19. $tab = $array;
  20. for($x=$i;$x>=0;$x--)
  21. unset($tab[array_search($array[$x], $tab)]);
  22. }
  23.  
  24. ?>


Zobacz to. Nie jest to jakos swietnie napisane ale dziala.. i pewnie mozna to napisac z 2x krócej smile.gif
Go to the top of the page
+Quote Post
neV
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.01.2006

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


swietna robota biggrin.gif wielkie dzieki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:01