Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt der Vergleich einer Zeichenfolge mit 0 in PHP manchmal „True' zurück?

Warum gibt der Vergleich einer Zeichenfolge mit 0 in PHP manchmal „True' zurück?

Patricia Arquette
Freigeben: 2024-12-16 01:30:09
Original
713 Leute haben es durchsucht

Why Does Comparing a String to 0 in PHP Sometimes Return True?

Vergleich einer Zeichenfolge mit einer Ganzzahl: Unerwartete Ergebnisse verstehen

In PHP kann der Vergleich einer Zeichenfolge mit einer Ganzzahl zu unerwarteten Ergebnissen führen. Insbesondere kann der Vergleich einer Zeichenfolge, die nur Ziffern enthält, mit der Ganzzahl 0 als wahr ausgewertet werden, auch wenn dies falsch erscheint.

Erklärung des Verhaltens

Wie im PHP angegeben Handbuch: Wenn eine Zeichenfolge in einem numerischen Kontext ausgewertet wird, wird sie basierend auf den darin enthaltenen Zeichen in eine Zahl umgewandelt. Wenn die Zeichenfolge einen Dezimalpunkt, einen Exponenten oder ein gültiges numerisches Format enthält, wird sie als Gleitkommazahl ausgewertet. Wenn sie jedoch nur Ziffern enthält, wird sie als Ganzzahl ausgewertet.

Im Fall der Zeichenfolge „d85d1d81b25614a3504a3d5601a9cb2e“ enthält sie nur Ziffern. Daher wird die Zeichenfolge beim Vergleich mit der Ganzzahl 0 zunächst in die Ganzzahl 0 konvertiert, was zu einem echten Vergleich führt.

Warum die zweite Zeichenfolge nicht funktioniert

Die zweite Zeichenfolge, „3581169b064f71be1630b321d3ca318f“, funktioniert nicht, da sie einen nicht numerischen Wert enthält Zeichen, „b.“ Wenn es in einem numerischen Kontext ausgewertet wird, wird es daher nicht als gültiges numerisches Format betrachtet. Stattdessen wird es als Zeichenfolge ausgewertet und der Vergleich mit der Ganzzahl 0 ergibt „falsch“.

Das obige ist der detaillierte Inhalt vonWarum gibt der Vergleich einer Zeichenfolge mit 0 in PHP manchmal „True' zurück?. 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