Suchen des zweiten Vorkommens einer Zeichenfolge mit strpos
Die strpos-Funktion in PHP ist ein nützliches Werkzeug zum Ermitteln der Position des ersten Vorkommens eines Teilstrings innerhalb eines größeren Strings. Es kann jedoch vorkommen, dass Sie das zweite oder nachfolgende Vorkommen suchen müssen.
Ein Ansatz zum Auffinden des zweiten Vorkommens besteht darin, eine Schleife oder Rekursion zu verwenden, um die Zeichenfolge zu durchlaufen und die Anzahl der Teilzeichenfolgen zu zählen erscheint. Dies kann jedoch bei großen Zeichenfolgen ineffizient und zeitaufwändig sein.
Eine effizientere Lösung ist die Verwendung der strposX-Funktion, einer benutzerdefinierten Funktion, die speziell für diesen Zweck entwickelt wurde. Diese Funktion benötigt drei Parameter: den Heuhaufen (die Zeichenfolge, in der Sie suchen), die Nadel (die Teilzeichenfolge, nach der Sie suchen) und die Zahl (das Vorkommen, an dem Sie interessiert sind).
Die Die Funktion strposX ruft sich selbst rekursiv auf, um nach dem angegebenen Vorkommen zu suchen. Wenn die Zahl 1 ist, verhält es sich wie strpos und gibt die Position des ersten Vorkommens zurück. Wenn die Zahl größer als 1 ist, wird die Länge der Nadel zur Position des vorherigen Vorkommens hinzugefügt und die Suche fortgesetzt.
Hier ist eine vereinfachte Version der strposX-Funktion:
function strposX($haystack, $needle, $number = 0) { return strpos($haystack, $needle, $number > 1 ? strposX($haystack, $needle, $number - 1) strlen($needle) : 0 ); }
Mit dieser Funktion können Sie leicht das zweite, dritte oder jedes nachfolgende Vorkommen eines Teilstrings finden, was sie zu einem wertvollen Werkzeug für String-Manipulationsaufgaben in PHP macht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3