ホームページ  >  記事  >  バックエンド開発  >  部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)

部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)

青灯夜游
青灯夜游オリジナル
2021-08-05 12:12:072399ブラウズ

文字列の比較と検索は最も一般的な操作です。前の記事「PHP 文字列の学習: 2 つの文字列の比較」では、文字列を比較する方法を紹介しました。次の記事では、文字列検索操作を説明し、部分文字列が存在するかどうかを確認する方法を紹介します。

文字列検索操作を実行する場合、特定の文字列内で指定された部分文字列 (部分文字列と呼ばれます) を検索して、その部分文字列が文字列内に存在するかどうかを確認する必要がある場合があります。

通常、PHP 組み込み関数を使用して、文字列内でこの部分文字列が最初または最後に出現する箇所を見つけて判断します。文字列の検索には 2 つの状況があり、1 つは大文字と小文字を区別しない、つまり大文字と小文字を区別しない検索であり、もう 1 つは大文字と小文字を区別する、つまり大文字と小文字を区別する検索です。ここで、大文字と小文字を区別せずに部分文字列が存在するかどうかを判断する方法を見てみましょう。

下の栗を見てみましょう。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串  “&#39;$findme&#39;” 第一次出现的位置:".stripos($string, $findme);
echo "<br>子串  “&#39;$findme&#39;” 最后一次出现的位置:".strripos($string, $findme);
?>

上の例のコードを見て、結果はどうなると思いますか?最初に出現するのは「2」で、最後に出現するのは「8」ですよね?出力を見てみましょう:

部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)

ああ、実際には「1」と「7」ですが、これはなぜでしょうか?その理由は次のとおりです。 文字列の位置は 1 ではなく 0 から始まります。もちろん、開始位置 1 に基づいて計算するのは間違っています。

したがって、次のコードを使用して、部分文字列が存在するかどうかを判断できます。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";

if(stripos($string, $findme)!=FALSE){
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}
?>

出力結果:

部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)

これを見てみましょう。詳しく見る この2つの機能です。

stripos($string,$find,$start)関数は、別の文字列内で最初に出現した文字列を検索できます (大文字と小文字は区別されません)。

strripos($string,$find,$start)この関数は、別の文字列内で最後に出現した文字列を検索できます (大文字と小文字は区別されません)。

これら 2 つの関数のパラメータは似ており、どちらも 2 つの必須パラメータ $string$find と 1 つのオプション パラメータ $start# # を受け入れます。 #。

  • $stringパラメータ: 検索する文字列を指定するために使用されます。

  • $findパラメータ: 検索する部分文字列を指定するために使用されます。これには 1 つ以上の文字を含めることができます。 (文字列型でない場合は整数に変換され、文字順の値として扱われます)。

  • $startパラメータ: $string 内のどの文字から検索を開始するかを指定するために使用されます。返される位置数値は依然として相対的なものです。 $string の開始位置。

ただし、 strripos() 関数の

$start パラメータでは負の値を許可するため、文字列の先頭から まで検索が開始されます。 $start の位置。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";
echo "子串  “&#39;$findme&#39;” 第一次出现的位置:".stripos($string, $findme,2);
echo "<br>子串  “&#39;$findme&#39;” 最后一次出现的位置:".strripos($string, $findme,-5);
?>

出力結果:

部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)

わかりました。他に知りたいことがある場合は、これをクリックしてください。 → →

php ビデオチュートリアル

最後に、古典的なコース「

PHP 文字列処理 (翡翠少女般若心経編)」を読むことをお勧めします。無料です。ぜひ学んでください。 !

以上が部分文字列が存在するかどうかを判断するための PHP 文字列学習 (大文字と小文字は区別されません)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。