Wie finde ich das zweite (oder n-te) Vorkommen einer Zeichenfolge mithilfe der Rekursion in PHP?

Susan Sarandon
Freigeben: 2024-10-18 14:43:30
Original
266 Leute haben es durchsucht

How to Locate the Second (or nth) Occurrence of a String Using Recursion in PHP?

Mehrfaches Vorkommen eines Strings mit strpos lokalisieren: Das zweite Vorkommen aufdecken

strpos ist eine leistungsstarke Funktion, die es Programmierern ermöglicht, die Position von zu bestimmen das erste Vorkommen eines Teilstrings innerhalb eines Strings. Was aber, wenn das Ziel darin besteht, das zweite Vorkommnis zu identifizieren? Diese Frage stellt sich häufig, insbesondere wenn es um komplexe Datenmanipulationsaufgaben geht.

Antwort: Rekursion für aufeinanderfolgende Suchvorgänge nutzen

Um diese Herausforderung zu bewältigen, können Entwickler die Rekursion nutzen, a Technik, die für dieses Szenario besonders geeignet ist. So wird es erreicht:

  1. Abruf des ersten Vorkommens:Beginnen Sie mit strpos, um die Position des ersten Vorkommens der Teilzeichenfolge zu ermitteln.
  2. Rekursiv Aufruf: Wenn das gewünschte Vorkommen größer als 1 ist, führen Sie einen rekursiven Aufruf von strpos durch und geben Sie dieses Mal eine Startposition an, die um die Länge des vom ersten Vorkommen erhaltenen Teilstrings nach vorne verschoben wird.
  3. Rekursion bis zum gewünschten Vorkommen: Wiederholen Sie Schritt 2, bis das gewünschte Vorkommen gefunden wird.

Benutzerdefinierte Funktion zur Vereinfachung des Prozesses

Zur Optimierung Mit diesem Prozess kann eine benutzerdefinierte Funktion entwickelt werden:

function strposX($haystack, $needle, $number) {
    if ($number == 1) {
        return strpos($haystack, $needle);
    } elseif ($number > 1) {
        return strpos($haystack, $needle, strposX($haystack, $needle, $number - 1) + strlen($needle));
    } else {
        return error_log('Error: Value for parameter $number is out of range');
    }
}
Nach dem Login kopieren

Alternativ kann eine vereinfachte Version verwendet werden:

function strposX($haystack, $needle, $number = 0)
{
    return strpos($haystack, $needle,
        $number > 1 ?
        strposX($haystack, $needle, $number - 1) + strlen($needle) : 0
    );
}
Nach dem Login kopieren

Durch die Einbindung dieser Ansätze können Programmierer mehrere Vorkommen von a effektiv identifizieren Teilzeichenfolge, einschließlich des zweiten Vorkommens, wodurch sie mit erweiterten Funktionen zur Zeichenfolgenmanipulation ausgestattet werden.

Das obige ist der detaillierte Inhalt vonWie finde ich das zweite (oder n-te) Vorkommen einer Zeichenfolge mithilfe der Rekursion in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!