Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt „strpos()' 0 zurück und wie kann ich zuverlässig prüfen, ob ein Teilstring vorhanden ist?

Warum gibt „strpos()' 0 zurück und wie kann ich zuverlässig prüfen, ob ein Teilstring vorhanden ist?

Linda Hamilton
Freigeben: 2024-12-13 06:09:09
Original
395 Leute haben es durchsucht

Why Does `strpos()` Return 0, and How Can I Reliably Check for Substring Existence?

Rückgabewert-Macken von strpos() verstehen

Wenn Sie strpos() verwenden, um einen Teilstring innerhalb eines bestimmten Strings zu finden, ist es wichtig, dies zu berücksichtigen die Auswirkungen auf den Rückgabewert. Andernfalls kann es zu unerwarteten Ergebnissen kommen.

Problem:

Beim Versuch, die Startposition zweier Teilzeichenfolgen zu identifizieren und sicherzustellen, dass sich die erste vor der zweiten befindet stößt ein Programmierer auf ein unerwartetes Verhalten. Der Code prüft mithilfe des losen Gleichheitsvergleichsoperators (<>), ob jede Teilzeichenfolge in der Zielzeichenfolge vorhanden ist. Wenn der Rückgabewert von strpos() falsch ist, bedeutet dies, dass die Teilzeichenfolge nicht gefunden wurde. Wenn der Teilstring jedoch an Position Null beginnt, scheint strpos() 0 zurückzugeben, was fälschlicherweise als falsch interpretiert wird.

Lösung:

Das PHP-Handbuch explizit besagt, dass strpos() boolesche FALSE oder nicht-boolesche Werte (z. B. 0) zurückgeben kann, die als FALSE ausgewertet werden. Um diese Verwirrung zu vermeiden, empfiehlt PHP die Verwendung des ===-Operators (strikte Gleichheit) zum Testen des Rückgabewerts von strpos().

Im bereitgestellten Beispiel sollte der Programmierer den losen Gleichheitsoperator (<> ;) mit dem strikten Gleichheitsoperator (!==) in den strpos()-Prüfungen. Dadurch wird sichergestellt, dass der Vergleich wie erwartet funktioniert und das Vorhandensein oder Fehlen der Teilzeichenfolgen in der Zielzeichenfolge korrekt identifiziert.

Das obige ist der detaillierte Inhalt vonWarum gibt „strpos()' 0 zurück und wie kann ich zuverlässig prüfen, ob ein Teilstring vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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