In PHP werden sowohl Strrpos- als auch Strpos -Funktionen verwendet, um den Ort zu finden, an dem das Substring zum ersten Mal in der Hauptzeichenfolge erscheint. Sie sind sehr ähnlich, haben aber einige wichtige Unterschiede. In verschiedenen Anwendungsszenarien müssen wir die entsprechende Funktion basierend auf den Eigenschaften dieser beiden Funktionen auswählen und verwenden.
Die Strpos -Funktion wird verwendet, um den Ort zu finden, an dem ein Substring zuerst in der Hauptzeichenfolge erscheint. Diese Funktion gibt die Startposition des Substring in der Hauptzeichenfolge zurück (basierend auf dem Index von 0). Wenn das Substring nicht gefunden wird, wird Falsch zurückgegeben.
<span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"world"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</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</span></span><span>
</span></span>
Im obigen Beispiel gibt Strpos 7 zurück, um zu sehen, wo die "Welt" -Skette zuerst in "Hello, World!" Erscheint.
Ähnlich wie bei STRPOS wird die STRRPOS -Funktion verwendet, um das letzte Auftreten eines Substrings in der Hauptzeichenfolge zu finden. Es gibt die Startposition des letzten Auftretens des Substrings zurück. Wenn das Substring nicht gefunden wird, wird Falsch zurückgegeben.
<span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"world"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</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 14</span></span><span>
</span></span>
In diesem Beispiel kehrt Strrpos 14 zurück, weil das letzte Ereignis von "Welt" in "Hallo, Welt, Welt!" Startet aus dem Index 14.
Aus dem obigen Beispiel können wir sehen, dass der Hauptunterschied zwischen Strpos und Strrpos lautet:
STRPOS : Gibt den Ort zurück, an dem das Substring zuerst erscheint.
Strrpos : Gibt das letzte Auftreten des Substrings zurück.
Mit anderen Worten, Strpos sucht von links nach rechts, während Strpos von rechts nach links sucht. Die anderen Verhaltensweisen der beiden Funktionen sind im Grunde genommen gleich, einschließlich des Rückgabewerttyps, der bestandenen Parameter usw.
Bei der Verwendung von Strpos oder Strrpos sollten Sie entsprechend den tatsächlichen Bedürfnissen entscheiden:
Finden Sie den ersten Auftrittsort : Wenn Sie den ersten Auftrittsort eines Substrings in einer Zeichenfolge finden müssen (z. B. die erste gültige Übereinstimmung bei der Verarbeitung von Benutzereingaben finden), wird Strpos bevorzugt.
Leistungsüberlegungen : Strpos ist effizienter, wenn Sie sich nur darum kümmern, wo es zuerst erscheint, da es die Zeichenfolge nur einmal durchquert.
Finden Sie das letzte Auftreten eines Substring : Strrpos ist ideal, wenn Sie das letzte Auftreten eines bestimmten Substrings finden müssen. Wenn Sie beispielsweise ein Protokoll analysieren, interessieren Sie sich möglicherweise nur für den letzten Datensatz oder die letzte Fehlermeldung des Protokolls.
Suchen Sie den letzten Abgrenzungsstandort : Zum Beispiel können Sie sich beim Parsen von Dateipfaden möglicherweise nur um die Dateierweiterung kümmern. Strrpos kann Ihnen dabei helfen, den Standort des letzten Punkts ( . ) schnell zu finden und die Dateierweiterung zu extrahieren.
Strpos wird verwendet, um den Ort zu finden, an dem das Substring zuerst erscheint, geeignet für Szenarien, die von links nach rechts durchsucht werden müssen.
Strrpos wird verwendet, um das letzte Auftreten eines Substrings zu finden, das für Szenarien geeignet ist, die von rechts nach links nachgeschlagen werden müssen.
Die Auswahl dieser beiden Funktionen sollte auf bestimmten Geschäftsanforderungen beruhen. Wenn Sie die erste Übereinstimmung einer Zeichenfolge finden müssen, verwenden Sie Strpos . Wenn Sie die letzte Übereinstimmung benötigen, verwenden Sie Strrpos . Das Verständnis ihrer Unterschiede kann uns helfen, genauere Entscheidungen beim Schreiben von PHP -Programmen zu treffen und so die Lesbarkeit und Effizienz unseres Code zu verbessern.