ホームページ > バックエンド開発 > PHPの問題 > PHPで大文字と小文字を区別しない文字列の比較を実行する方法

PHPで大文字と小文字を区別しない文字列の比較を実行する方法

青灯夜游
リリース: 2023-03-11 17:34:02
オリジナル
2034 人が閲覧しました

方法: 1. "strcasecmp(string1,string2)" ステートメントを使用します。 2. "strncasecmp(string1,string2,length)" ステートメントを使用します。 3. "strnatcasecmp(string1,string2)" を使用します。声明。

PHPで大文字と小文字を区別しない文字列の比較を実行する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

方法 1: strcasecmp を使用する() 関数

strcasecmp() 関数は、文字列を比較するときに大文字と小文字を区別しません。その構文形式は次のとおりです:

strcasecmp(string $str1, string $str2)
ログイン後にコピー

そのうち、$str1 と $str2 は次の 2 つです。比較する文字列。

比較結果によると、$str1 が $str2 より小さい場合、戻り値は < 0; $str1 が $str2 より大きい場合、戻り値は になります。 > 0; $str1 が $str2 と等しい場合、0 が返されます。

Web サイトの URL は大文字と小文字が区別されないため、strcasecmp() 関数を使用して 2 つの URL が同じかどうかを比較できます。サンプル コードは次のとおりです:

<?php
header("Content-type:text/html;charset=utf-8");
$url1 = &#39;https://www.php.cn/&#39;;
$url2 = &#39;HTTPS://www.php.cn/&#39;;
if(strcasecmp($url1, $url2) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>
ログイン後にコピー

出力:

两个网址相同
ログイン後にコピー

方法 2: strncasecmp() 関数を使用する

strncasecmp() 関数は 2 つの文字列を比較します (大文字と小文字は区別されません)。

構文

strncasecmp(string1,string2,length)
ログイン後にコピー
#string2長さ 戻り値: この関数は次を返します:
パラメータ説明
string1 ######必須。比較する最初の文字列を指定します。
必須。比較する 2 番目の文字列を指定します。
必須。比較に使用する文字列あたりの文字数を指定します。


  • 0

    - 2 つの文字列が等しい場合

  • #<0
  • - string1 が string2 より小さい場合

    ##>0
  • - string1 の場合string2 より大きいです
  • 例:

  • <?php
    echo strncasecmp("Hello","Hello",6);
    echo "<br>";
    echo strncasecmp("Hello","hELLo",6);
    ?>
    ログイン後にコピー
出力:

0
0
ログイン後にコピー

方法 3: strnatcasecmp() 関数を使用します

strnatcasecmp() 関数は、「自然な」アルゴリズムを使用して 2 つの文字列を比較します (大文字と小文字は区別されません)。 自然アルゴリズムでは、数値 2 は数値 10 より小さくなります。コンピューターの並べ替えでは、10 の最初の数値が 2 未満であるため、10 は 2 未満になります。

構文

strnatcasecmp(string1,string2)
ログイン後にコピー

パラメータ説明string1 ######必須。比較する最初の文字列を指定します。 必須。比較する 2 番目の文字列を指定します。 0
#string2
戻り値:
- 2 つの文字列が等しい場合

  • #<0 - string1 が string2 より小さい場合

  • ##>0

    - string1 が string2 より大きい場合

  • 例:
  • <?php
    echo strnatcasecmp("2Hello world!","10Hello WORLD!");
    echo "<br>";
    echo strnatcasecmp("10Hello world!","2Hello WORLD!");
    ?>
    ログイン後にコピー

    出力:

    -1
    1
    ログイン後にコピー

  • 説明:
自然アルゴリズム (strnatcmp) と従来のコンピューター文字列ソートアルゴリズム ( strcmp)

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");

print_r($arr1);
echo "<br>";
echo "<br>";

echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");

print_r($arr2);
?>
ログイン後にコピー

出力:

Standard string comparison
Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 )

Natural order string comparison
Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )
ログイン後にコピー

推奨学習: "PHP ビデオ チュートリアル

"

以上がPHPで大文字と小文字を区別しない文字列の比較を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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