Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wypisanie opcji z wariancji w php.
TToMeKK
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


Witam,

Podam prostszy przykład, lecz chce użyć do tego skryptu innych danych (w większej ilości), aby nie siedzieć nad tym rok lub więcej (IMG:style_emoticons/default/wink.gif) .

Mam elementy: a, b, c; chcę mieć zbiory 2 elementowe (z powtórzeniami) { x, y }.
Wynikiem tego jest: {a,a}{a,b}{a,c}{b,a}{b,b}{b,c}{c,a}{c,b}{c,c}.

Chciałbym abym dał skryptowi liste elementów i jakiej wielkości mają być zbiory, a skrypt wypisze mi wszystkie opcje, lub zapisze mi to w bazy danych (ale z bazą danych już sobie sam poradzę.

Niestety nie mam pomysłu co do tego skryptu i a tym zwracam się do was o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. function mixuj($v, $elements) {
  2.  
  3. $a = array();
  4. foreach($elements as $vv) {
  5.  
  6. $a[] = $v.'-'.$vv;
  7. }
  8.  
  9. return $a;
  10. }
  11.  
  12.  
  13. $elements = array('a', 'b', 'c');
  14. $array = array();
  15.  
  16. foreach($elements as $v) {
  17.  
  18. $array[] = mixuj($v, $elements);
  19. }
  20.  
  21. echo '<pre>'; print_r($array);


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





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


A jak chcę zrobić zbiór 3 elementowy { x, y, z} to co zmienić?
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


zmienić punkt widzenia z "chcę" na "zrobię to sam" i chwilę pomyśleć

ps. mała podpowiedź: funkcję aaa() można wywołać w ciele funkcji aaa() - czyli mixuj wewnątrz mixuj
Go to the top of the page
+Quote Post
TToMeKK
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 5.10.2008

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


Jakoś się udało wykombinować (IMG:style_emoticons/default/smile.gif) . Dzięki wielkie (IMG:style_emoticons/default/smile.gif)

Dla tych co mają lub będą mieli podobny problem zmodyfikowałem to tak:

  1. <?
  2. function mixuj($v, $elements) {
  3.  
  4. $a = array();
  5. foreach($elements as $vv) {
  6.  
  7. foreach($elements as $vv2){
  8.  
  9. $a[] = $v.'-'.$vv.'-'.$vv2;
  10. }
  11. }
  12.  
  13. return $a;
  14. }
  15.  
  16.  
  17. $elements = array('a', 'b', 'c');
  18. $array = array();
  19.  
  20. foreach($elements as $v) {
  21.  
  22. $array[] = mixuj($v, $elements);
  23. }
  24.  
  25. echo '<pre>'; print_r($array);
  26. ?>
Go to the top of the page
+Quote Post

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: 22.08.2025 - 21:58