STRCMP () ist eine der String -Funktionen in PHP, die die Größe von zwei Zeichenfolgen vergleicht. Wenn sie gleich sind, kehren Sie 0 zurück; Wenn die erste Saite klein ist, kehren Sie negativ zurück. umgekehrt.
STRCMP (String $ str1, String $ str2): int int
$ str1 : Die erste String, die zu vergleichen war
$ str2 : Die zweite String, die zu vergleichen ist
Die Funktion STRCMP () gibt eine Ganzzahl zurück, deren Wert auf der Grundlage des Vergleichsergebnisses der Zeichenfolge bestimmt wird. Wenn die beiden Saiten gleich sind, geben Sie 0 zurück; Wenn Zeichenfolge 1 kleiner als Zeichenfolge 2 ist, geben Sie einen Wert von weniger als 0 zurück. Wenn Zeichenfolge 1 größer als Zeichenfolge 2 ist, geben Sie einen Wert von mehr als 0 zurück.
$ str1 = "Hallo Welt";
$ str2 = "Hallo Welt";
echo strcmp ($ str1, $ str2);
Ausgabeergebnis: 0
Beschreibung: $ str1 und $ str2 -Zeichenfolgen sind gleich, so dass Strcmp () Wert 0 zurückgibt.
$ str1 = "Hallo Welt";
$ str2 = "Hallo Welt!";
echo strcmp ($ str1, $ str2);
Ausgabeergebnis: -1
Beschreibung: Die $ str1 -Zeichenfolge ist kleiner als $ str2, so dass Strcmp () einen Wert von weniger als 0 zurückgibt.
In PHP werden zusätzlich zur Verwendung der Funktion von Strcmp () zum Vergleich von Zeichenfolgen auch die Operatoren "==" und "===" verglichen werden, unterscheiden sich jedoch stark von der Funktion von STRCMP ().
Der Operator "==" wird verwendet, um die Werte von zwei Variablen zu vergleichen. Geben Sie True zurück, wenn ihre Werte gleich sind, andernfalls geben Sie false zurück. Beim Vergleich von zwei Zeichenfolgen kann dies jedoch unvorhersehbare Ergebnisse erzielen.
$ str1 = "123";
$ str2 = "123";
if ($ str1 == $ str2) {echo "true"; } else {echo "false"; }
Ausgabeergebnis: True
Hinweis: Obwohl die Werte von $ str1 und $ str2 unterschiedlich sind, betrachtet der Operator "==" sie immer noch gleich.
Der Bediener "===" wird verwendet, um die Werte und Arten von zwei Variablen zu vergleichen. Geben Sie True zurück, wenn ihre Werte und Typen gleich sind, ansonsten falsch. Wenn Sie diesen Bediener zum Vergleich von zwei Zeichenfolgen verwenden, funktioniert er wie erwartet.
$ str1 = "123";
$ str2 = "123";
if ($ str1 === $ str2) {echo "true"; } else {echo "false"; }
Ausgabeergebnis: Falsch
HINWEIS: Verwenden des Bedieners "===" werden $ str1 und $ str2 als unterschiedliche Typen angesehen, sodass das Betriebsergebnis falsch ist.
Im Vergleich zu den Operatoren "==" und "===" ist die Funktion STRCMP () die bevorzugte Methode zum Vergleich von zwei Zeichenfolgen. Es wird häufig verwendet, um zu überprüfen, ob Zeichenfolgen gleich sind, beispielsweise in Formularvalidierung:
$ str1 = $ _post ['Passwort'];
$ str2 = "QWERTY";
if (strcmp ($ str1, $ str2) === 0) {// Passwort korrekt eingegeben} else {// Passwort ist falsch}
Dieser Code vergleicht das vom Benutzer eingegebene Kennwort mit dem vordefinierten Kennwort. Wenn sie gleich sind, ist das Passwort korrekt, sonst ist das Passwort falsch. Da die Funktion von STRCMP () genauer ist, wird sichergestellt, dass das Kennwort nicht falsch akzeptiert wird.
STRCMP () ist eine sehr nützliche Zeichenfolgenfunktion in PHP, mit der verglichen wird, ob zwei Zeichenfolgen gleich sind. Während es möglicherweise einfacher sein kann, Operatoren zu verwenden "==" und "===" in einigen Fällen für String -Vergleiche, die unter Verwendung von STRCMP () die Genauigkeit der Vergleichsergebnisse sicherstellen.