詳細なPHPの文字列比較関数

PHPでは、文字列間の比較のための自然ソート第二strnatcmp()関数を使用して、バイトで比較された第1のstrcmp()関数とstrcasecmp()関数を使用して、種々の方法が存在します比較は、第三はstrncmpは()関数は、ソース文字列の指定された開始位置とを比較し使用することです。ここではこれらの綿密な説明の一部を実施するには、いくつかの方法があります。無錫大理石の測定プラットフォーム

 

バイトで1文字列の比較

二つの方法は、のstrcmp()関数とstrcasecmp()関数を使用して、それぞれ、比較バイト文字列に応じて存在します。これら二つの機能の間の差であるのstrcmp()関数は、大文字小文字を区別文字であり、strcasecmp()関数は、大文字と小文字を区別しません。これらの2つの方法は、実質的にここにいくつかの導入にはstrcmp()関数の外だけで同じ機能を実現するので。

関数strcmp()関数は二つの文字列のバイトを比較するために使用されます。

構文は次のとおりです。

1

strcmp(string1, string2)

文字列1文字列2パラメータを指定パラメータと2つの文字列を比較します。関数の戻り値が0に等しい場合、パラメータは、パラメータ文字列1の文字列2よりも大きい場合、関数は0よりも値の大きいを返す、パラメータは以下のパラメータ文字列1の文字列2、関数の戻り値が0未満を超える場合。

この関数は大文字と小文字が区別されることに注意してください。

使用srtcmp()関数とstrcasecmp()関数はそれぞれ2つの文字列が比較されるバイトコード例は次の通りであります:

1

2

3

4

5

6

7

8

9

<?php

 $str1 = "PHP学习手册!";               // 定义字符串常量

 $str2 = "PHP学习手册!";               // 定义字符串常量

 $str3 = "phpcn";                      // 定义字符串常量

 $str4 = "PHPCN";                      // 定义字符串常量

 echo strcmp($str1,$str2);             // 这两个字符串相等

 echo strcmp($str3,$str4);             // 注意该函数区分大小写

 echo strcasecmp($str3,$str4);          //该函数不区分大小写

?>

出力は次のようになります。

1

0 1 0

注意:アプリケーション間でPHPの文字列が非常に広いの比較です。例えば、関数strcmp()関数を使用すると、ユーザーがログインの良識のユーザー名とパスワードの入力は、ユーザとパスワードを検証しないときに、この機能場合は、どちらか大文字または小文字、限り権利がログインすると、ユーザー名とパスワードを入力し、正しい比較します。彼らは、サイトのセキュリティを改善するためにログインすることができます前に、それがすべて一致する場合でなければならない、タイムリーかつ正確な、このような状況を回避するために機能した後)(srtcmpを使用してください。

2.自然順序付け法に従って文字列を比較します

PHPにおいては、自然順序付け方法に従って文字列を比較することstrnatcmp()関数を使用することによって達成されます。比較ソート受付番号が数字列のサイズで比較され、文字列の一部です。その構文は次の形式です。

1

strnatcmp(string1, string2)

パラメータは、文字列1文字列2パラメータに等しく、関数は0の値を返した場合、パラメータ以外のパラメータ文字列1文字列2より大きい場合、関数は0よりも値の大きいを返す、パラメータは以下文字列1文字列2パラメータを超える場合、関数は0以上の値を返します。

ヒント:この機能は、大文字と小文字が区別されます。

注:最初の桁に「10」が「1」であるため、2〜10時間の自然アルゴリズムでは、しかしながら、コンピュータ、2の配列は、10未満である、「2」未満です。

使用strnatcmp()関数は、以下に示すコード例に係る自然順序付け方法の文字列を比較します。

1

2

3

4

5

6

7

8

<?php

 $str1 = "inter2.jpg";                  // 定义字符串常量

 $str2 = "inter10.jpg";                 // 定义字符串常量

 $str3 = "phpcn1";                      // 定义字符串常量

 $str4 = "PHPCN2";                      // 定义字符串常量

 echo strnatcmp($str1,$str2);           // 按自然排序法进行比较,返回-1

 echo strnatcmp($str3,$str4);           // 按自然排序法进行比较,返回1

?>

出力結果は以下のとおりです。

1

-1  1

説明:、ソートに応じて入場の比較はまた、()は、同じ効果を機能する他strnatcmpと共に使用することができるが、strnatcasecmpサイズ()関数を区別しません。

比較のソース関数から文字列の開始位置を指定します3。

strncmpは()関数は、最初のn文字の文字列を比較します。

その構文は次の形式です。

1

strncmp(string1, string2, length)

パラメータは、文字列1文字列2パラメータに等しく、関数は0の値を返した場合、パラメータ以外のパラメータ文字列1文字列2より大きい場合、関数は0よりも値の大きいを返す、パラメータは以下文字列1文字列2パラメータを超える場合、関数は0以上の値を返します。大文字と小文字を区別機能。

次のようにそのパラメータは次のとおりです。

パラメータ 説明
文字列1 参加を比較する最初の文字列を指定します。
string2の 参加を比較するために、2番目の文字列を指定します。
長さ 必要なパラメータは、各文字列の参加を指定する文字列の数を比較します

文字列の最初の2つの文字を比較するためにstrncmpは()関数を使用してソース文字列、次の例に示す符号と同じです。

1

2

3

4

5

<?php

 $str1 = "I like this";                  // 定义字符串常量

 $str2 = "i study php";                  // 定义字符串常量

 echo strncmp($str1,$str2,2);            // 比较前两个字符

?>

出力は次のようになります。

1

 

注:小文字の変数$ STR2以来、文字列の最初の文字は、文字列に変数$ STR1と一致しない戻り値がされた後で上記のコードから見ることができ、この関数は2つの文字列を比較し-1 。

おすすめ

転載: www.cnblogs.com/furuihua/p/12077139.html