Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak napisać funkcję która wykona pętle FOR n-razy
radiopraca
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 7.02.2014

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


Mam taki kod (poniżej) i wyświetla on wszystkie przypadki umieszczenia 4 osób w jednym pokoju.
W takim pokoju może być osoba 1, 2, 3, 4, 1 i 2, 1 i 3 itd.

Kod działa prawidłowo, ale jak trzeba by to poprawić by było uniwersalne i działało dla 1,2,3,4,5... n osób.
Nie chce robić 10 forów jeden w drugim. Pomożecie?

  1. $out = array();
  2. for ($a = 1; $a <= 4; $a++) {
  3. $out[] = $a;
  4.  
  5. for ($b = $a + 1; $b <= 4; $b++) {
  6. $out[] = $a. $b;
  7.  
  8. for ($c = $b + 1; $c <= 4; $c++) {
  9. $out[] = $a. $b. $c;
  10.  
  11. for ($d = $c + 1; $d <= 4; $d++) {
  12. $out[] = $a. $b. $c. $d;
  13. }
  14. }
  15. }
  16. }


Wykonanie kawałka kodu wyżej zwróci:
Array
  1. (
  2. [0] => 1
  3. [1] => 2
  4. [2] => 3
  5. [3] => 4
  6. [4] => 12
  7. [5] => 13
  8. [6] => 14
  9. [7] => 23
  10. [8] => 24
  11. [9] => 34
  12. [10] => 123
  13. [11] => 124
  14. [12] => 134
  15. [13] => 234
  16. [14] => 1234
  17. )


To wszystko jest jednak na sztywno dla 4 osób.
Wie ktoś może jak zrobić by pętli for było tyle ile osób (pętla w pętli)?

Ten post edytował radiopraca 9.02.2014, 22:13:42
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: 23.08.2025 - 15:05