✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Strings und Integer in PHP aufteilen

17

Die Arbeit mit Strings, Zahlen und regulären Ausdrücken in PHP ist relativ einfach, wenn man bedenkt, wie viele Funktionen die Sprache bietet.

Es gibt jedoch Zeiten, in denen es nicht sofort klar ist, wie man nach bestimmten Kriterien aufteilt, oder es ist vielleicht klar, was man tun muss, aber nicht, wie man es am besten macht.

Foto von Agê Barros auf Unsplash

Angenommen, Sie haben eine Zeichenfolge, die sowohl aus Zahlen als auch aus Ziffern besteht. Nehmen wir für diesen Beitrag an, dass eine bestimmte Zeichenfolge:

  • enthält Stunden und Minuten,
  • Wenn die Minuten bei 60 sind,
  • Die Zeichenfolge sollte den Wert der Stunden um eins erhöhen
  • der Minutenwert wird auf Null zurückgesetzt.

Ein Beispiel für eine problematische Zeichenkette könnte dann die Form T3H60M haben. Wie können wir dann den String in Strings und Integer aufteilen und richtig neu aufbauen?

In diesem Fall gibt es drei Dinge, die ich als nützlich empfunden habe. In keiner bestimmten Reihenfolge:

Und die Reihenfolge, in der die Operationen zur Verwendung der oben genannten Vorgänge ungefähr so ​​​​aussehen:

  1. Verwenden Sie einen regulären Ausdruck, um alle Ziffern in der Zeichenfolge zu finden.
  2. Entfernen Sie alles außer den Ziffern im Array
  3. Wenn die zweite Ziffer 60 ist, setzen Sie sie gleich Null
  4. Erhöhen Sie den ersten Index des Arrays um eins
  5. die Saite neu aufbauen.

Wenn die obigen Schritte in Code umgewandelt würden, könnte es so aussehen:

Beachten Sie, dass ich mich dafür entscheide, array_filter zu verwenden, um doppelte Werte zu entfernen, und array_values, um das Array in nur zwei Einträge zu bereinigen, von denen der erste die Stunde und der zweite die Minute ist.

Danach bestimme ich den Wert jedes Indexes des Arrays (und denken Sie daran, dass es sich um Zeichenfolgen handelt, sodass Sie sie als ganze Zahlen umwandeln müssen, um ihren Wert richtig zu erhöhen.

Schließlich baue ich den String nach (und falls) Bedarf.

Sicher, dies ist ein kleiner Nischenfall, aber die Lösung kann basierend auf Ihren eigenen Bedürfnissen allgemeiner sein.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen