PHP Zusammensetzen eines Strings

dreckig

Newbie
Registriert
Feb. 2010
Beiträge
2
Hallo liebe Computerbase-Comm =)

Ich hätte eine Frage bezüglich eines php-Projektes. Hierbei sollen die in einem Textfeld
eingegeben Strings in unterschiedlicher Reihenfolge in der Datenbank abgefragt werden.

Zum Beispiel:
Such-String: Hans Zimt
Dieser wird mit Hilfe von split zerlegt.

Jetzt soll der String "duchmischt" werden und wieder zusammengeführt werden, so das alle Möglichkeiten abgedeckt sind.

Die Ausgabe mit einem echo sollte so aussehen (Wie in dem oben genannten Beispiel):
Hans
Zimt
Hans Zimt
Zimt Hans


Das Beispiel beschränkt sich nur auf einen kurzen Suchstring. Dieser kann auch länger werden.

Ich weiß im Moment nicht, wie ich ansetzen soll, weil ab 5 Strings wird das langsam etwas zu kompliziert, als das man es mit Schleifen lösen könnte.

Vielen Dank für eure Hilfe =)
 
Zuletzt bearbeitet: (Formatierung)
ohne achtung auf effektivität (darüber will ich mir jetz gar keine gedanken machen), könntest du es so machen: mit explode trennst du die wörter, erstellst eine schleife, welche jedes element um eins nach hinten verrückt und setzt zum schluss diese ganzen strings dann via implode zusammen.
 
Ja, das Problem ist auch nicht sooo einfach zu lösen.

Eventuell hilft dir da das Stichwort Permutation.

@claW.:
An einem Zahlenbeispiel...
wir haben 3 Elemente
1, 2, 3

rauskommen muss:
1
2
3
1, 2
1, 3
2, 1
2, 3
3, 1
3, 2
------
1, 2, 3
1, 3, 2
2, 1, 3
2, 3, 1
3, 1, 2
3, 2, 1
Irgendwie kann ich mir nicht vorstellen, wie die du das mit dem von dir geschilderten Vorgehen erreichen willst...

Ich hab extra mal noch ne Trennlinie gemacht, weil wie man sehen kann sind die oberen immer nur ein Teil der unteren. D.h. beim Bilden der Ergebnisse kann man sie als eine Art Abfallprodukt sehen...

Das ganze kann man sich als Baum vorstellen:

man fängt an mit der Wurzel
jetzt hat man 3 Möglichkeiten was man nimmt, da alles noch im Topf ist: 1, 2, 3
also gehen da 3 Äste weg
im Ast 1 gibt es noch die Möglichkeiten 2 und 3. Also gehen da Zwei Äste weg - analog mit den Ästen 2 und 3.
Im Ast 1-2 gibt es nur noch die 3 als Möglichkeit, im Ast 1-3 eben die 2.

Man kann sich da eben immer nach oben hangeln und schauen, was überhaupt noch erlaubt ist.
Ob das effizient ist so: Keine Ahung. Aber es ist nachvollziehbar.

Diesem Baum kann man alle Möglichkeiten von oben nach unten ablesen: http://miblounge.winct.net/baum.png

Dabei nimmt man halt zuerst nur einen Knoten, dann zwei, dann drei - und bekommt alle benötigten Möglichkeiten

Effizient ist dies sicher nicht, aber halt nachvollziehbar. Es gibt effizientere Permutationsalgorithmen...

Und claW.: Du sagst ohne Achtung auf Effekivität... hmm... du meinst wohl eher Effizienz.
Effektivität heißt: Ich erziele den gewünschten Effekt, ich komme als ans Ziel, es funktioniert. Es sagt nichts darüber aus, wie es funktioniert.
Die Effizienz sagt wie man ans Ziel kommt. Wenn du Effektivät nicht garantieren kannst heißt das so viel wie: "Ich habe keine Ahnung obs auch nur im Ansatz funktioniert" ^^
 
Zuletzt bearbeitet:
Danke...
Mir fehlte halt dieses Stichwort "Permutation" um i.wie weiter zu kommen.
Werde mich mit den Funktionen auseinandersetzen und meine Lösung (Wenn denn dann eine steht) hier posten... Schönen Tag euch noch =)
 
Zurück
Oben