Also ich möchte gerne wenn ich einen String angebe, dass alle möglichen Reihenfolgen der Buchstaben angezeigt werden.
zB beim string = "abc":
Ausgabe: abc, acb, bac, bca, cab, cba
Ich habe einen Code für Python gefunden:
Dieser erfüllt auch die Aufgabe, allerdings möchte ich das gerne in PHP haben. Mein Versuch das selbst umzuschreiben sind gescheitert:
Also irgendwie logisch, dass man das nicht einfach so umändern kann, aber weiß nicht wie ich es sonst hin bekommen sollte.
Mein Problem ist wohl die stelle: "$ar[] = fac($s[:$i] + $s[$i+1:], $prefix + $s[$i]);"
Ich verstehe nicht was dort gemacht wird... hat ja eigentlich auch eher was mit python zu tun, aber vielleicht kann das ja jemand ableiten.
Schonmal vielen Dank im Voraus =)
zB beim string = "abc":
Ausgabe: abc, acb, bac, bca, cab, cba
Ich habe einen Code für Python gefunden:
Code:
def unsort(s, prefix=""): if len(s) == 1: return [prefix + s] r = [] for i in range(len(s)): r.extend(unsort(s[:i] + s[i+1:], prefix + s[i])) return r print unsort('ABC')
PHP-Code:
<?php
function fac($s, $prefix="") {
if (strlen($s) == 1) {
echo $s;
}
$r = array();
for ($i = 0; $i < strlen($s); $i++) {
$ar[] = fac($s[:$i] + $s[$i+1:], $prefix + $s[$i]);
}
echo $r;
}
echo fac('abc');
?>
Mein Problem ist wohl die stelle: "$ar[] = fac($s[:$i] + $s[$i+1:], $prefix + $s[$i]);"
Ich verstehe nicht was dort gemacht wird... hat ja eigentlich auch eher was mit python zu tun, aber vielleicht kann das ja jemand ableiten.
Schonmal vielen Dank im Voraus =)
Kommentar