2017-03-15 7 views
-2

Ich versuche, alle möglichen Kombinationen einer Zeichenfolge mit PHP zu generieren. Ich habe diese Seite eine Weile durchsucht und versucht, den richtigen Algorithmus zu finden, aber ich kann nicht den richtigen finden. Um genauer zu sein, wenn ich die Zeichenfolge "hi" einfüge, möchte ich, dass "hi", "ih", "h", "i" zurückgegeben werden. Aber ich möchte nicht, dass dieselben Zeichen mehrfach verwendet werden. Also würde ich nicht "hh" und "ii" wollen. Gibt es dafür einen Algorithmus? Vielen Dank!Generiere alle Kombinationen von string in PHP

+0

Könnte diese Lösung sein, was Sie sind eng? http://stackoverflow.com/questions/361/generate-list-of-all-possible-permutations-of-a-string#362 – kendepelchin

+0

Haben Sie irgendwelche Grenzen? Was könnte die maximale Saitenlänge? – JustOnUnderMillions

+0

@JustOnUnderMillions Die maximale Länge der Zeichenkette beträgt wahrscheinlich 5 Zeichen. – Njinx

Antwort

1

Dont nehmen diese für die Produktion:

$string = implode('',array_unique(str_split('helpa'))); 
$i=0; 
while($i++<50000){ 
    $coll[substr(str_shuffle($string),0,mt_rand(1,strlen($string)))]=true; 
} 
ksort($coll); 
print '<pre>'; 
print_r(array_keys($coll)); 

Hier können Sie testen, was Sie erhalten möchten.

In 10000 Iteration i bekam 325 Kombinationen von einem 5-String der Länge (was alle möglichen Kombinationen scheint)

Verwandte Themen