PHP で文字列が等しいかどうかを比較する方法は何ですか?

青灯夜游
リリース: 2023-03-14 17:28:01
オリジナル
5044 人が閲覧しました

PHP が文字列が等しいかどうかを比較する方法は次のとおりです: 1. "String 1==String 2" ステートメントを使用します。 2. "String 1=== String 2" ステートメントを使用します。 3. を使用します。 「strcmp (string 1, string 2)」ステートメント; 4. 「strcasecmp (string 1, string 2)」ステートメントなどを使用します。

PHP で文字列が等しいかどうかを比較する方法は何ですか?

このチュートリアルの動作環境: 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()、戻り値の説明:

PHP で文字列が等しいかどうかを比較する方法は何ですか?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート