ホームページ >バックエンド開発 >PHPチュートリアル >PHP 文字列ベースの比較関数 strcmp() および strcasecmp() の使用方法の詳細な説明_PHP チュートリアル

PHP 文字列ベースの比較関数 strcmp() および strcasecmp() の使用方法の詳細な説明_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:10:11910ブラウズ

「===」と「==」の違いは、簡単に言えば、前者は「同一(同一、全く同じ)」を重視し、後者は「等しい」ことを要求します。 (等しい)」の場合、値は同じです。または、strcmp を使用して判断しますが、これにより 2 つの文字列が等しいかどうかはわかりますが、どこが異なるかはわかりません。

一般に、2 つのオブジェクトが等しいかどうかを比較するには、!=、== を使用できます。これらが 2 つのオブジェクトであると言われる理由は、それらがすべて文字列である必要はなく、整数などの場合もあるためです。 例:

コードをコピーします コードは次のとおりです:

$a = "joe";
$b = "jerry"; echo "等しくない" ;
}
else
{
equal"
}


!== 、 === を使用して比較する場合、true を返すには 2 つのオブジェクトの型が厳密に等しい必要があります。それ以外の場合は ==,!= を使用します


コードをコピーします
コードは次のとおりです: 22 == "22" // true を返します
; 22 === "22"; / / 文字列比較に使用される falsePHP 関数を返します: strcmp()、strcasecmp()、strncasecmp()、strncmp()。前者が後者より大きい場合、これらはすべて 0 より大きい整数を返します。 ; 前者が後者より小さい場合は 0 未満の整数が返され、2 つが等しい場合は 0 が返されます。


1)
strcmp は大文字と小文字を区別します。
2)echo strcmp(" abcdd", "abcde"); // "b" と "b" を比較して 1 (>0) を返します
3)strcasecmp は大文字と小文字を区別しない文字列比較に使用されます:
4) echo strcasecmp("abcdd", "abcde"); // "d" と "e" を比較して、-1 (strncmp は、文字列の一部を比較するために使用されます。文字列の先頭、3 番目のパラメータは比較される長さです:
echo strncmp("abcdd", "abcde", 3); // 1 (>0) を返し、abc と abc を比較しますstrncasecmp は以前は大文字と小文字を区別しない 文字列の先頭から始まる比較文字列の部分、3 番目のパラメータは比較される長さです: echo strncasecmp("abcdd", "abcde", 3); // abc と比較された 0 を返します。 abc は大文字と小文字が区別されないため、同じです。
もう 1 つの状況は、単に文字列のサイズを比較するだけでは、事前に決められたニーズを満たすことができないということです。たとえば、通常 10.gif は 5.gif よりも大きくなりますが、上記の関数を適用すると、-1 が返されます。これは、10 .gif を意味します。この状況に対して、PHP は 2 つの自然な対照関数 strnatcmp と strnatcasecmp を提供します。
echo strnatcmp("10.gif", "5.gif") // Return 1 (>0 )
echo strnatcasecmp ("10.gif", "5.gif"); // 1 (>0) を返します




http://www.bkjia.com/PHPjc/327133.html

www.bkjia.com

http://www.bkjia.com/PHPjc/327133.html技術記事 「===」で判断します。「==」との違いは、簡単に言えば、前者は「同一(同じ、全く同じ)」であることを重視し、後者は「等しい」ことを要求します。等しい...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。