php: Löschen von bestimmten index aus dem string?
Ich möchte in der Lage sein, um einen index angeben, in einen string, und entfernen Sie es.
Habe ich Folgendes:
"Hello World!!"
Möchte ich entfernen Sie die 4. index (o
in Hello). Hier wäre das Ergebnis:
"Hell World!!"
Ich habe versucht unset()
, aber das hat nicht geklappt. Ich habe Gegoogelt, wie dies zu tun und das ist, was jeder sagt, aber es hat nicht für mich gearbeitet. Vielleicht war ich nicht mit es für richtig, idk.
- Verwenden
substr
. Holen Sie sich die ersten paar charactes, Holen Sie sich die letzten Zeichen nach Ihrem index, dann verketten. - Ich habe versucht
unset()
, aber das hat nicht geklappt. Ich habe Gegoogelt, wie dies zu tun und das ist, was jeder sagt, aber es hat nicht für mich gearbeitet. - str_split in ein array entfernen Sie den index, dann implodieren Rücken zu string.
- In PHP können strings werden nicht behandelt, wie arrays, Sie haben Ihren eigenen Satz von Operationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
7
als drittes argument vonsubstr
ist nicht erforderlich, damit es funktioniert.Dies ist eine Allgemeine Möglichkeit, um es zu lösen:
Grundsätzlich, ersetzen Sie den Teil des Strings, bevor Sie aus dem index ab mit dem Teil der Zeichenfolge, die die angrenzenden.
Siehe auch:
substr_replace()
Oder einfach:
Diese php-spezifische arbeiten mit strings auch nervte mich für eine Weile. Natürlich Natürliche Lösung ist die Verwendung von string-Funktionen oder arrays verwenden, aber diese ist langsamer als die direkte Arbeit mit string-index meiner Meinung nach. Mit dem folgenden snippet Problem ist, dass im Speicher die Zeichenfolge wird nur dann ersetzt, mit leeren � und wenn Sie Vergleich oder sonst etwas, dies ist keine gute option. Vielleicht in zukünftigen version werden wir bekommen eine eingebaute Funktion zum entfernen von string-Indizes direkt wer weiß.
Persönlichen ich, wie den Umgang mit arrays.
(Sorry über den fehlenden code-Klammern setzen diese über mein Handy)
Ich denken kann, erstellen Sie eine Funktion und rufen Sie es wie folgt