現在の位置: ホーム> 最新記事一覧> PHPのstrcmp()関数の詳細な説明と使用例

PHPのstrcmp()関数の詳細な説明と使用例

gitbox 2025-06-28

strcmp()関数は何ですか

Strcmp()は、2つの文字列のサイズを比較するPHPの文字列関数の1つです。それらが同じ場合、0を返します。最初の文字列が小さい場合は、ネガティブを返します。逆に。

関数構文

strcmp(string $ str1、string $ str2):int

パラメーターの説明

$ str1 :比較する最初の文字列

$ str2 :比較する2番目の文字列

返品値

strcmp()関数は、文字列の比較結果に基づいて値が決定される整数を返します。 2つの文字列が等しい場合は、0を返します。文字列1が文字列2未満の場合、0未満の値を返します。文字列1が文字列2より大きい場合、0より大きい値を返します。

文字列の平等

$ str1 = "hello world";

$ str2 = "hello world";

エコーSTRCMP($ str1、$ str2);

出力結果:0

説明:$ str1および$ str2文字列は等しいため、strcmp()は値0を返します。

文字列は等しくありません

$ str1 = "hello world";

$ str2 = "hello world!";

エコーSTRCMP($ str1、$ str2);

出力結果:-1

説明:$ str1文字列は$ str2より小さいため、strcmp()は0未満の値を返します。

オペレーターとの違い "=="および "==="

PHPでは、strcmp()関数を使用して文字列を比較することに加えて、演算子「==」と「===」も比較できますが、それらはstrcmp()関数とは大きく異なります。

演算子を使用した比較文字列「==」

演算子「==」は、2つの変数の値を比較するために使用されます。値が同じ場合はtrueを返し、それ以外の場合はfalseを返します。ただし、2つの文字列を比較すると、予測不可能な結果が生じる可能性があります。

$ str1 = "123";

$ str2 = "123";

if($ str1 == $ $ str2){echo "true"; } else {echo "false"; }

出力結果:true

注:$ STR1と$ STR2の値は異なりますが、演算子「==」は依然として等しいと考えています。

演算子を使用した比較文字列「===」

演算子「===」は、2つの変数の値とタイプを比較するために使用されます。その値とタイプが同じである場合、trueを返します。そうでなければ偽りです。この演算子を使用して2つの文字列を比較すると、予想どおりに機能します。

$ str1 = "123";

$ str2 = "123";

if($ str1 === $ $ str2){echo "true"; } else {echo "false"; }

出力結果:FALSE

注:オペレーター「===」を使用すると、$ STR1および$ STR2は異なるタイプと見なされるため、操作の結果は偽です。

strcmp()関数のシナリオ

「==」および「===」演算子と比較して、STRCMP()関数は2つの文字列を比較するための好ましい方法です。たとえば、形式の検証など、文字列が等しいかどうかを確認するためによく使用されます。

$ str1 = $ _post ['password'];

$ str2 = "qwerty";

if(strcmp($ str1、$ str2)=== 0){//正しく入力されたパスワード} else {//パスワードは間違っています}

このコードは、事前定義されたパスワードでユーザーが入力したパスワードを比較します。それらが等しい場合、パスワードは正しいです。そうしないと、パスワードが間違っています。 strcmp()関数はより正確であるため、パスワードが誤って受け入れられないことが保証されます。

結論は

Strcmp()は、PHPの非常に有用な文字列関数であり、2つの文字列が等しいかどうかを比較するために使用されます。場合によっては、オペレーター「==」と「===」を使用する方が簡単かもしれませんが、文字列比較では、strcmp()を使用すると、比較結果の精度が保証されます。