大文字と小文字を区別して 2 つの文字列を比較する Strcmp() 関数は、大文字と小文字を区別して 2 つの文字列のバイナリ セーフな比較を実行します。その形式は次のとおりです:
int strcmp (string str1, string str2)
比較結果に基づいて、次の可能な値の 1 つが返されます。
•str1とstr2が等しい場合は0を返します。
•str1がstr2より小さい場合は、-1を返します。
•str1がstr2より大きい場合は1を返します。
Web サイトでは、ユーザーが選択したパスワードを入力して確認するための登録を要求することが多く、入力ミスによって間違ったパスワードが生成される可能性が低くなります。通常、パスワードは大文字と小文字が区別されるため、strcmp() はこれら 2 つのパスワードを比較するのに非常に適しています。
コードをコピー コードは次のとおりです。 $pswd2 = "スーパーシークレット"; if (strcmp($pswd,$pswd2) != 0)
echo "パスワードが一致しません!"; strcmp () の場合、等しいとみなされるには、文字列が正確に一致する必要があることに注意してください。たとえば、Supersecret は supersecret とは異なります。大文字と小文字を区別せずに 2 つの文字列を比較したい場合は、以下で説明する strcasecmp() を検討してください。この関数のもう 1 つのわかりにくい点は、2 つの文字列が等しい場合に 0 を返すことです。これは、次のように == 演算子を使用して文字列比較を完了するのとは異なります:
if ( $str1 == $str2)
どちらのメソッドも目的は同じで、2 つの文字列を比較することですが、値は次のように返されることに注意してください。違う。
コード例:
コードをコピー
コードは次のとおりです:
以下は、より良い strcmp サンプル コードです: IP アドレスに基づいてアクセスを制御するための PHP strcmp コード 簡単な追加: ここでの str1 と str2 の比較は、実際には str1 と str2 の ASCII 値の比較です。
例:strcmp ("A", "a"); 戻り値は -1 です
// a の ASCII 値は 97 です A の ASCII 値は 65 です
この例から、次のことがわかります。 strcmp() は文字列の比較に使用されます。違いは大文字と小文字です。
strcmp について詳しく見てみましょう:
strcmp("abc","abc"); このとき、文字列の等価性の戻り値は次のようになります。は0です
このときstrcmp("aBc","abc");に変更しましょう 等しくない場合、戻り値は-1になります