ホームページ  >  記事  >  バックエンド開発  >  PHP 文字列学習は、部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)。

PHP 文字列学習は、部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)。

青灯夜游
青灯夜游オリジナル
2021-08-05 14:32:322762ブラウズ

前回の記事では、部分文字列が存在するかどうかを検出する方法を紹介しました。興味のある方はリンクをクリックしてご覧ください→「部分文字列が存在するかどうかを判断するPHP文字列学習(大文字と小文字は区別されません)」 )》。今回は部分文字列が存在するかどうかを検出する別の方法を紹介しますので、必要に応じて参照してください。

前の記事では、stripos() 関数と strripos() 関数を使用して、部分文字列の最初または最後の出現に基づいて部分文字列が存在するかどうかを判断する方法を紹介しましたが、これら 2 つの関数は、存在しない場合に使用します。 -sensitive の場合、検索は大文字と小文字を区別せずに実行されます。

場合によっては、正確な位置決めと厳密な検出が必要なため、大文字と小文字を区別して検索する必要があります。今日、それが分かります。

次の例を見てみましょう

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme1 = "bC";
$findme2 = "bc";
$pos1 = strpos($string, $findme1);
$pos2 = strrpos($string, $findme1);
$pos3 = strpos($string, $findme2);
$pos4 = strrpos($string, $findme2);

if($pos1 !=FALSE){
	echo "子串 &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos2 !=FALSE){
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
if($pos3 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

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

strpos() 関数と strrpos() 関数は、大文字と小文字を区別して文字列 $string 内の部分文字列を検索します。方法$findme1 または $findme2。完全に一致し、部分文字列が存在する場合は、文字列内でその部分文字列が最初または最後に出現したものが返されます。文字列内に部分文字列が見つからない場合は、FALSE が返されます。

上記の例からわかるように、部分文字列「bc」と文字列「ABCDCBAbcd」のみが完全に一致し、部分文字列「」はbc" は文字列 "ABCDCBAbcd" に存在するとみなされます。したがって、出力結果は次のようになります。

PHP 文字列学習は、部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)。

strpos() 関数と strrpos() 関数を詳しく見てみましょう。

  • #strpos($string,$find,$start)関数は、部分文字列が最初に出現する位置を返すことができます (大文字と小文字が区別されます);

  • strrpos($string,$find,$start)関数は、部分文字列が最後に出現した位置を返すことができます (大文字と小文字が区別されます);

strpos() 関数と strrpos() 関数は似ており、どちらも 2 つの必須パラメータ

$string (検索対象の文字列) と $find (検索対象の部分文字列) を受け入れます。 be found)、省略されたパラメータ $start (検索の開始位置)。 注: 文字列の位置は 1 ではなく 0 から始まります。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2);
?>

出力結果:

PHP 文字列学習は、部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)。

ただし、strrpos() 関数のパラメータ

$start は負の値を受け入れることができます。負の数を指定すると、文字列の末尾から始まるカウントで検索が終了します。

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1,-5);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2,-5);
?>

出力結果:

PHP 文字列学習は、部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)。

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

php ビデオチュートリアル

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

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

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

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