Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wszystkie mozliwosci
Ikky
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 5.07.2009

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


mam tablice z pojedyńczymi cyframi/literamy
jak moge z nich dostac wszystkie mozliwosci

np mam

[0] => w
[1] => 5
[2] => r

i chce miec

w5r
wr5
5wr
5rw
rw5
r5w
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%)
-----


Nie wiem czy jest gotowa funkcja jednak ja robiłem tak:

Obliczałem silnię (abym wiedział ile możliwości muszę uzyskać)
Potem wykonywałem pętlę dopóki ilość elementów w tablicy (count) nie była równa silni.

Co do tworzenia tablicy:
implode + in_array + array_rand.

Jakbyś miał problemy to wal. (IMG:style_emoticons/default/haha.gif)

Wyskrobałem coś takiego:

  1. <?php
  2.  
  3. function silnia($x) {
  4. if ($x > 1) {
  5. $y=1;
  6. for ($i=2; $i <= $x; $i++) {
  7. $y *= $i;
  8. }
  9. return $y;
  10. }else{
  11. return 1;
  12. }
  13. }
  14.  
  15. $zbior = array('x', 'y', 'z');
  16. $mozliwosci = array();
  17.  
  18. $ile = silnia(3);
  19.  
  20. while (count($mozliwosci) < $ile) {
  21. $y = array_rand($zbior, 3);
  22. foreach ($y as $v) {
  23. $x .= $zbior[$v];
  24. }
  25.  
  26. if (!in_array($x, $mozliwosci)) {
  27. $mozliwosci[] = $x;
  28. }
  29. unset($x);
  30. }
  31.  
  32. echo '<pre>';
  33. print_r($mozliwosci);
  34. echo '</pre>';
  35.  
  36. ?>


I nawet dość szybko działa. Nie wiem czy optymalnie no ale... ;d
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.10.2025 - 09:35