Die Funktion
Strcmp() führt einen binärsicheren Vergleich von zwei Strings unter Berücksichtigung der Groß- und Kleinschreibung durch.
Vergleicht zwei Zeichenfolgen unter Berücksichtigung der Groß-/Kleinschreibung
Die Funktion Strcmp() führt einen binärsicheren Vergleich zweier Zeichenfolgen unter Berücksichtigung der Groß-/Kleinschreibung durch. Seine Form ist:
int strcmp ( string str1 , string str2 )
Einer der folgenden möglichen Werte wird basierend auf dem Vergleichsergebnis zurückgegeben.
•Gib 0 zurück, wenn str1 und str2 gleich sind.
•Wenn str1 kleiner als str2 ist, wird -1 zurückgegeben.
•Gib 1 zurück, wenn str1 größer als str2 ist.
Auf Websites ist es häufig erforderlich, dass der Benutzer registriert ist, um sein gewähltes Passwort einzugeben und zu bestätigen, wodurch die Wahrscheinlichkeit verringert wird, dass aufgrund von Tippfehlern ein falsches Passwort generiert wird. Da bei Passwörtern normalerweise die Groß-/Kleinschreibung beachtet wird, eignet sich strcmp() sehr gut zum Vergleich dieser beiden Passwörter:
Der Code lautet wie folgt:
<?php $pswd = "supersecret"; $pswd2 = "supersecret"; if (strcmp($pswd,$pswd2) != 0) echo "Your passwords do not match!"; else echo "Passwords match!"; ?>
Beachten Sie, dass für strcmp ( ) , Zeichenfolgen müssen genau übereinstimmen, um als gleich zu gelten. Supersecret unterscheidet sich beispielsweise von supersecret. Wenn Sie zwei Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung vergleichen möchten, sollten Sie die unten vorgestellte Funktion strcasecmp () in Betracht ziehen.
Ein weiterer verwirrender Punkt dieser Funktion ist, dass sie 0 zurückgibt, wenn zwei Zeichenfolgen gleich sind. Dies unterscheidet sich von der Verwendung des Operators == zum Abschließen des Zeichenfolgenvergleichs wie folgt:
if ( $str1 == $str2)
Beide Methoden haben das Gleiche Ziel: Beide vergleichen zwei Zeichenfolgen, denken Sie jedoch daran, dass die von ihnen zurückgegebenen Werte unterschiedlich sind.
Beispielcode:
Der Code lautet wie folgt:
<?php echo strcmp("Hello world!","Hello world!"); //返回0 ?>
Das Folgende ist ein besserer Beispielcode für strcmp:
PHP strcmp-Code zur Steuerung des Zugriffs basierend auf der IP-Adresse
Eine einfache Ergänzung:
Der Vergleich zwischen str1 und str2 hier ist eigentlich der ASCII-Wert von str1 und str2 vergleichen
Zum Beispiel:
strcmp("A","a"); Der Rückgabewert ist -1
// Der ASCII-Wert von a ist 97 Der ASCII-Wert von A ist 65
Dieses Beispiel ist in Ordnung. Es ist ersichtlich, dass bei der Verwendung von strcmp() zum Vergleichen von Zeichenfolgen die Groß-/Kleinschreibung beachtet wird
Schauen wir uns dann das detaillierte Verständnis von strcmp an:
strcmp("abc", "abc"); Zu diesem Zeitpunkt ist der Rückgabewert der Zeichenfolgengleichheit 0
Ändern wir strcmp("aBc", "abc"); jetzt ist er nicht gleich und der Rückgabewert ist -1
Da strcmp aBc und abc einzeln vergleicht, werden die beiden Die erste Zeichenfolge wird mit der ersten verglichen, und die zweite Zeichenfolge von
wird mit der zweiten Zeichenfolge verglichen ... Wenn ASCII Sind die Werte jedes Vergleichs gleich, kann der Vergleich des nächsten
if ("abc">"aBC") Das Vergleichsprinzip ist das gleiche
Das obige ist der detaillierte Inhalt vonAnweisungen zur Verwendung der PHP-Funktion strcmp(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!