PHP が文字列が等しいかどうかを比較する方法は次のとおりです: 1. "String 1==String 2" ステートメントを使用します。 2. "String 1=== String 2" ステートメントを使用します。 3. を使用します。 「strcmp (string 1, string 2)」ステートメント; 4. 「strcasecmp (string 1, string 2)」ステートメントなどを使用します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
2 つの比較文字列が等しいかどうかを確認します
一般に、!= と == を使用して、2 つのオブジェクトが等しいかどうかを比較できます。これらが 2 つのオブジェクトである理由は、必ずしもすべてが等しいわけではないためです。文字列、整数なども指定できます。たとえば、
$a = "joe"; $b = "jerry"; if ($a != $b) { echo "不相等"; } else { echo "相等"; }
!==、=== (追加の等号が表示されます) を比較に使用する場合、true を返すには 2 つのオブジェクトの型が厳密に等しい必要があります。それ以外の場合は、== を使用してください。 , != 文字列は比較のために対応する型に自動的に変換されます。
22 == "22"; // 返回 true 22 === "22"; // 返回false
このため、プログラムでは予期せぬ「事故」が頻繁に発生します:
0 == "我爱你"; // 返回true 1 == "1 我爱你";// 返回true
php チュートリアル 文字列比較のための一連の関数もあります: strcmp、strcasecmp、strncasecmp()、 strncmp()、戻り値の説明:
strcmp は、大文字と小文字を区別する (つまり、大文字と小文字を区別する) 文字列比較に使用されます:
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"
strcasecmp は、次の目的で使用されます。大文字と小文字を区別しない文字列比較:
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"
strncmp は、文字列の先頭から開始して文字列の一部を比較するために使用されます。3 番目のパラメータは比較される長さです:
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc
strncasecmp は大文字と小文字を区別しない方法で文字列の一部を比較するために使用されます。比較は文字列の先頭から始まります。3 番目のパラメータは比較する長さです:
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。
別の状況では、文字だけを比較します。文字列のサイズは、あらかじめ決められたニーズを満たすことができません。たとえば、いつものように、10.gif は 5.gif よりも優れています。 大きいですが、上記の関数を適用すると -1 が返されます。 5.gif より 10.gif。この状況のために、PHP は 2 つの自然に対照的な関数 strnatcmp と strnatcasecmp を提供します:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0) echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
推奨学習: "PHP ビデオ チュートリアル "
以上がPHP で文字列が等しいかどうかを比較する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。