dedlfix: PHP Strings zusammenführen?

Beitrag lesen

Tach!

angenommen man hätte nach einem foreach Durchlauf folgende zwei Strings:

10:00;;;;;;;
;;;17:00;;;;

Ob foreach oder was anderes, ist erstmal nicht relevant. Da wären also zwei Strings. Wenn die aus Elementen bestehen, wäre der erste Schritt, diese Strings in ihre Elemente zu zerlegen. explode() am Semikolon bietet sich hier an. Damit hat man wei Arrays. Mit for(each) lässt sich dann recht einfach auf die einzelnen Elemente zugreifen, einfacher als mit Stringoperationen.

Gibt es einen Trick diese zusammenzuführen zu einer Zeile?

10:00;;;17:00;;;;

Als erstes braucht es ein weiteres, zunächst leeres Array, um das Ergebnis aufzunehmen.

Unter der Annahme, dass beide Strings gleich viele Elemente enthalten, kann man nun ein beliebiges der beiden Arrays nehmen, darüber mit for (und einem Hilfsindex, gemeinhin i) iterieren und das aktuelle Element mit dem an gleicher Position im anderen Array vergleichen, um zu entscheiden, welches man haben möchte. Das fügst du dem Ergebnis-Array hinzu. Am Ende kann das Ergebnis-Array zu einem String implode()iert werden.

Wenn die Arrays unterschiedliche Länge haben, muss zunächst das längere ermittelt werden. Darüber muss dann die for-Schleife laufen. Oder man nimmt das kürzere, wenn die überzähligen Elemente des anderen nicht interessieren. Der Rest bleibt gleich.

dedlfix.