ホームページ > バックエンド開発 > PHPチュートリアル > PHP strcmp、strnatcmp、および strncmp 関数の違い、strnatcmpstrncmp_PHP チュートリアル

PHP strcmp、strnatcmp、および strncmp 関数の違い、strnatcmpstrncmp_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:17:53
オリジナル
1327 人が閲覧しました

PHPのstrcmp、strnatcmp、strncmp関数、strnatcmpstrncmpの違い

文字列比較命令
s1
s1=s2の場合、戻り値=0
when s1>s2 の場合、正の数を返します

リーリー

strcmp(str1, str2) 関数は、文字に従って 2 つの文字列を比較します。つまり、異なる文字が現れるまで、2 つの文字列が左から右に 1 文字ずつ比較されます (ASCII 値に従って比較されます)。

strnatcmp(str1, str2) 関数は、自然な並べ替えアルゴリズムを使用して文字列を比較します。この関数は、人間の習慣に基づいて数値文字列を並べ替える比較アルゴリズムを実装します。これが「自然な順序」です。

strncmp(str1, str2, len) 関数の比較原理は、strcmp(str1, str2) 関数の比較原理と似ていますが、文字列の先頭の len 文字のみを比較する点が異なります。

ps: 上記の 3 つの関数はすべて大文字と小文字を区別します。比較される文字列が大文字と小文字を区別しない場合は、他にも 3 つの同様の関数があります: strcasecmp、strnatcasecmp、strncasecmp.



String 比較関数 strcmp( ) と strncmp()

比較:
関数プロトタイプ: extern int strcmp(const char *s1, const char * s2);

int strncmp(char *str1, char *str2, int maxlen);
strncmp にはもう 1 つのパラメーター maxlen があることがわかります。違いはここで、これは文字列の最初の maxlen 長さの文字を比較することを意味します

2 つの戻り値も異なります:
s1 s1== の場合s2 は 0 を返します s1>s2 の場合は正の数を返します
strncmp: 最初の maxlen バイトが完全に等しい場合、戻り値 = 0
比較中に str1[n] と str2[n] が等しくない場合最初の maxlen バイトの処理、return (str1[n]-str2[n])。



文字列比較関数 strcmp() と strncmp()

関数: int strcmp (const char *s1, const char *s2)
この関数は、s1 文字列と s2 文字列を比較するために使用され、符号が異なる文字の最初のペアの比較結果に関連する値を返します。
2 つの文字列が等しい場合、strcmp は 0 を返します。

s1 が s2 の部分文字列の場合、s1 は s2 より小さいです
さらに、関数
int strncmp (const char *s1, const char *s2, size_t size) もあります
この関数は strcmp とよく似ています。違いは、strncmp 関数が文字のサイズを比較するように指定されていることです。つまり、文字列 s1 と s2 の最初のサイズの文字が同じである場合、関数は値 0 を返します。



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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/887684.html技術記事 PHP strcmp、strnatcmp、strncmp 関数の違い、strnatcmpstrncmp の文字列比較の説明。 s1s2 の場合、s1=s2 の場合、戻り値 = 0 が返されます。 s1s2 の場合、正の数 1 が返されます。セント...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート