Witam.
Próbuję napisać algorytm, który będzie wyświetlał wszystkie możliwe kombinacje liczb z tablicy oraz ich sumy.
Mam coś takiego:
  1. for( $i1=0, $count=count( $results ); $i1<$count; $i1++ ){
  2. echo $results[$i1].' = '. $results[$i1] .'<br />';
  3. for( $i2=$i1+1; $i2<$count; $i2++ ){
  4. echo $results[$i1] .' + '. $results[$i2] . ' = '. ( $results[$i1] + $results[$i2] ) .'<br />';
  5. for( $i3=$i2+1; $i3<$count; $i3++ ){
  6. echo $results[$i1] .' + '. $results[$i2] . ' + '. $results[$i3] . ' = '. ( $results[$i1] + $results[$i2] + $results[$i3] ) .'<br />';
  7. // [...]
  8. }
  9. }
  10. }

Próbowałem przełożyć to na jakąś postać funkcyjną, która sama zapętli się odpowiednią ilość razy, jednak nie potrafiłem zrobić tak, żeby działało.

Jeśli ktoś nie zrozumiał o co mi chodzi, to pokażę przykład. Mam taką tablicę:
  1. array(3) {
  2. [0]=>
  3. string(1) "1"
  4. [1]=>
  5. string(1) "2"
  6. [2]=>
  7. string(1) "3"
  8. }

I chciałbym w efekcie końcowym otrzymać coś takiego:
  1. 1 = 1
  2. 1 + 2 = 3
  3. 1 + 2 + 3 = 6
  4. 1 + 3 = 4
  5. 2 = 2
  6. 2 + 3 = 5
  7. 3 = 3

Będę bardzo wdzięczny, jeśli ktoś pomoże.
pozdrawiam
adem