Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich BRCHR, um die Position des zuletzt angegebenen Zeichens in einer Zeichenfolge in PHP zu lokalisieren?

Wie benutze ich BRCHR, um die Position des zuletzt angegebenen Zeichens in einer Zeichenfolge in PHP zu lokalisieren?

gitbox 2025-07-26

Wie benutze ich BRCHR , um die Position des zuletzt angegebenen Zeichens in einer Zeichenfolge in PHP zu lokalisieren?

Bei der PHP -Programmierung ist Verarbeitungszeichenfolgen eine der häufigsten Aufgaben. Manchmal müssen wir den Ort eines bestimmten Zeichens in einer Zeichenfolge finden, und dies ist nicht immer eine einfache Suche von links nach rechts. Die übliche STCHR -Funktion kann uns helfen, den Ort zu finden, an dem das angegebene Zeichen zuerst erscheint, aber sie kann uns jedoch nicht direkt helfen, das letzte Auftreten eines Charakters zu finden. Um diese Anforderung zu erreichen, müssen wir einige Tricks verwenden, um mit strChR zu arbeiten, um die Position des zuletzt angegebenen Zeichens in der Zeichenfolge zu lokalisieren.

Grundlegende Verwendung der STCHR -Funktion

Lassen Sie uns zunächst kurz die grundlegende Verwendung der STRCHR -Funktion überprüfen. strChR ist eine String -Funktion in PHP, die den Ort findet, an dem ein Zeichen zum ersten Mal in einer Zeichenfolge erscheint. Seine Syntax ist wie folgt:

 <span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack ist die Zielzeichenfolge (d. H. Die Zeichenfolge, nach der wir suchen).

  • $ nadel ist der Charakter oder Substring, den wir suchen.

Zum Beispiel:

 <span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'o'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$position</span></span><span>;  </span><span><span class="hljs-comment">// Ausgabe "o, world!"</span></span><span>
</span></span>

Dies gibt alles zurück, von dem gefundenen Charakter (einschließlich des Charakters selbst) bis zum Ende der Zeichenfolge.

Tipps zum Lokalisieren des letzten Charakters

Während strChR selbst nicht unterstützt, die Position des letzten Charakters zu finden, können wir dies auf kluge Weise tun. Die spezifische Idee besteht darin, die STRREV -Funktion zu verwenden, um die Zeichenfolge umzusetzen und dann die erste Vorkommensposition des Zeichens zu finden und schließlich in die Position in der ursprünglichen Zeichenfolge durch Strlen umzuwandeln.

Hier ist ein Beispiel, das demonstriert, wie Sie STRCHR in PHP verwenden, um die Position des zuletzt angegebenen Zeichens in einer Zeichenfolge zu lokalisieren:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">strchr_last</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$haystack</span></span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>) {
    </span><span><span class="hljs-comment">// Die Zielzeichenfolge umgeben</span></span><span>
    </span><span><span class="hljs-variable">$reversed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrev</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>);
    
    </span><span><span class="hljs-comment">// Finden Sie das erste Zeichen in der umgekehrten Zeichenfolge</span></span><span>
    </span><span><span class="hljs-variable">$reversed_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr</span></span><span>(</span><span><span class="hljs-variable">$reversed</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
    
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$reversed_pos</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;  </span><span><span class="hljs-comment">// Wenn kein bestimmter Zeichen gefunden wird,Dann kehren Sie zurückfalse</span></span><span>
    }
    
    </span><span><span class="hljs-comment">// Holen Sie sich die Position in der umgekehrten Zeichenfolge</span></span><span>
    </span><span><span class="hljs-variable">$reversed_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$reversed</span></span><span>) - </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$reversed_pos</span></span><span>);
    
    </span><span><span class="hljs-comment">// Gibt die Position in der ursprünglichen Zeichenfolge zurück</span></span><span>
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$reversed_pos</span></span><span>;
}

</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strchr_last</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'o'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$position</span></span><span>;  </span><span><span class="hljs-comment">// Ausgabe 7 (Im Augenblick "o" Die letzte Position in der ursprünglichen Zeichenfolge)</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Code analysieren

  1. STRREV -Funktion : Erstens verwenden wir die Strrev -Funktion, um die Zeichenfolge zu invertieren. Dies ermöglicht es uns, die Position des letzten Zeichens indirekt zu erhalten, indem wir nach dem angegebenen Zeichen suchen, das in der Zeichenfolge angezeigt wird.

  2. STRCHR -Funktion : In der invertierten Zeichenfolge finden wir die FRCHR -Funktion, um die erste Vorkommensposition des Zeichens zu finden.

  3. Positionsumwandlung : Da wir die Zeichenposition in der umgekehrten Zeichenfolge finden, müssen wir die Position des Zeichens in der ursprünglichen Zeichenfolge von Strlen ($ umgekehrt) und Strlen ($ reversed_pos) berechnen.

Vorteile und Einschränkungen

Der Vorteil dieser Methode besteht darin, dass strChR selbst eine sehr effiziente Funktion ist und der Code präzise ist. Es braucht nur wenige Codezeilen, um die letzte Zeichenposition zu finden. Die einzige Einschränkung besteht darin, dass dieser Ansatz auf invertierenden Saiten beruht, sodass seine Leistung beim Umgang mit sehr großen Saiten leicht sinken kann. Wenn das Zeichen in der Zeichenfolge nicht vorhanden ist, wird auch die false zurückgegeben , und wir müssen auch die entsprechende Verarbeitung durchführen.

Zusammenfassen

Obwohl der BonCHR selbst nicht direkt verwendet werden kann, um die Position des zuletzt angegebenen Zeichens in einer Zeichenfolge zu finden, können wir diese Funktion indirekt durch den Trick der Umkehrung der Zeichenfolge implementieren. Diese Methode ist einfach und effektiv und für Szenarien geeignet, in denen Charakterpositionen in der täglichen Entwicklung zu finden sind. Wenn Sie den Standort des letzten Charakters in PHP leicht finden möchten, probieren Sie diese Methode aus.