String-Vergleich in PHP: '==', '===' oder 'strcmp()'?
String-Vergleich in PHP kann mit verschiedenen Operatoren wie „==“, „===“ oder der Funktion „strcmp()“ ausgeführt werden. Bei diesem Vergleich wird überprüft, ob zwei Zeichenfolgen gleich sind oder nicht.
'==' vs. '==='
Der Operator „==“ prüft auf Gleichheit nur und berücksichtigt nicht den Typ der Operanden. Dies bedeutet, dass „0“ im „==“-Vergleich als gleich „falsch“ betrachtet wird. Andererseits prüft der Operator „===“ sowohl auf Gleichheit als auch auf Identität, was bedeutet, dass die Operanden denselben Wert und Typ haben müssen. Daher ist '0' im '==='-Vergleich nicht gleich 'false'.
'strcmp()' Funktion
Die 'strcmp()' Funktion vergleicht zwei Zeichenfolgen lexikografisch. Es gibt einen negativen Wert zurück, wenn die erste Zeichenfolge kleiner als die zweite Zeichenfolge ist, einen positiven Wert, wenn die erste Zeichenfolge größer als die zweite Zeichenfolge ist, und 0, wenn sie gleich sind.
Wann man ' verwenden sollte ' strcmp()'?
Während '===' in den meisten Fällen für den String-Vergleich ausreichend ist, ist 'strcmp()' bei Bedarf nützlich to:
Im bereitgestellten Code-Snippet:
if ($password === $password2) { ... }
Dieser Vergleich mit „===“ gibt nur dann „true“ zurück, wenn die Passwörter die gleiche Groß-/Kleinschreibung und den gleichen Wert haben. Wenn Sie einen Kennwortvergleich ohne Berücksichtigung der Groß- und Kleinschreibung zulassen möchten, müssen Sie „strcmp()“ oder „strcasecmp()“ verwenden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3