4er Array Kombinationen aus n Elementen (Permutation)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beispiel
bestehen
code
dank
element
ergebnis
erstellen
feld
funktion
garantie
hilfe
http
kombination
minute
pool
problem
reihenfolge
suche
url
-
Hallo
ich suche eine Möglichkeit und aus einem Array mit n Elementen
alle unique Kombinationen zu finden, die aus jeweils 4 Elementen bestehen
Beispiel:
$startarray = array('Wert1', 'Wert2', 'Wert3', 'Wert4', 'Wert5', 'Wert6');
Das Ergebnis soll sein: (Permutation)
$ergebnis => Array ( [0] => Array ( [0] => Wert1 [1] => Wert2 [2] => Wert3 [3] => Wert4 ) [1] => Array ( [0] => Wert1 [1] => Wert2 [2] => Wert3 [3] => Wert5 ) [2] => Array ( [0] => Wert1 [1] => Wert2 [2] => Wert3 [3] => Wert6 ) [3] => Array ( [0] => Wert1 [1] => Wert2 [2] => Wert4 [3] => Wert5 ) [4] => Array ( [0] => Wert1 [1] => Wert3 [2] => Wert4 [3] => Wert5 ) [5] => Array ( [0] => Wert1 [1] => Wert2 [2] => Wert5 [3] => Wert6 ) [6] => Array ( [0] => Wert1 [1] => Wert3 [2] => Wert5 [3] => Wert6 ) [7] => Array ( ... usw ... ) }
so dass keine Kombination "doppelt" vorkommt
also auch nicht in vertauschter Reihenfolge
gibt es dafür vielleicht eine fertige PHP Funktion ?
bzw. wie soll ich die Permutationen erstellen ?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
function perm($pool,$result=array()) { if(empty($pool)) { echo implode(' ',$result)."<br>"; } else { foreach($pool as $key => $value) { $neuerpool = $pool; $neuerresult = $result; $neuerresult[]= $value; unset($neuerpool[$key]); perm($neuerpool,$neuerresult); } } } // Testcode $feld = array(0,1,2,3,4,5,6); perm($feld);
Nach zwei Minuten mit Hilfe von Google auf http://www.technischedaten.de/pmwiki2/pmwiki.php?n=Php.FakultaetPermutation gefunden, deshalb keine Garantie auf Funktionalität
Beitrag zuletzt geändert: 2.2.2012 8:26:01 von alfr3d -
danke
ja, solche und ähliche Beispiele hatte ich auchschon gefunden
aber die machen alle "nur" Permutationen mit jeweils allen Elementen aus dem Array
mein Problem, ist, das Ausgangs-Array hat n Elemente (hier im BSP 6)
und es sollen aber Permutationen mit je nur 4 Elementen ermittelt werden
das macht die Sache wohl etwas komplizierter
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage