大文字と小文字を区別して 2 つの文字列を比較する Strcmp() 関数は、大文字と小文字を区別して 2 つの文字列のバイナリ セーフな比較を実行します。その形式は次のとおりです:
int strcmp (string str1, string str2) 比較結果に基づいて、次の可能な値のいずれかが返されます。
•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 つの文字列を比較することですが、値は次のように返されることに注意してください。違う。
コード例:
コードをコピー
コードは次のとおりです:
echo strcmp("Hello world!","Hello world!");
//Return 0 ?> ;
以下は、より優れた 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 になります
strcmp は aBc と abc を 1 つずつ比較するので、 2 つの文字列が比較され、2 番目の文字列が比較されます。最初の文字列と 2 番目の文字列を比較します... 各比較の ASCII 値が等しい場合、次の 文字のペアの比較を続けることができます。 したがって、2 番目のペア B と b を比較し、それらが等しくない場合、比較は停止し、戻り値が表示されます。
if ("abc">"aBC") 比較原理は同じです
http://www.bkjia.com/PHPjc/321720.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321720.html
技術記事
大文字と小文字を区別して 2 つの文字列を比較する Strcmp() 関数は、大文字と小文字を区別して 2 つの文字列のバイナリ セーフな比較を実行します。その形式は次のとおりです: int strcmp (string str1, str...