4 メソッド: 1. 部分文字列の出現位置を見つけるには、stripos() を使用します (構文 "stripos($str,$find)"); 2. strripos() を使用して、部分文字列の出現位置を検索します。部分文字列、構文 "strripos($str,$find)"; 3. strpos() を使用して部分文字列の出現位置を検索します、構文は "strpos($str,$find)" です; 4. strrpos() を使用します部分文字列の出現位置を見つけるには、構文「strrpos($str,$find)」を使用します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、DELL G3 コンピューター
文字列検索操作を実行すると、特定の文字列内で指定された部分文字列 (略してサブストリング) を検索し、その文字列内にその部分文字列が存在するかどうかを確認する必要があります。
通常、PHP 組み込み関数を使用して、文字列内でこの部分文字列が最初または最後に出現する箇所を見つけて判断します。文字列の検索には 2 つの状況があり、1 つは大文字と小文字を区別しない、つまり大文字と小文字を区別しない検索であり、もう 1 つは大文字と小文字を区別する、つまり大文字と小文字を区別する検索です。
ケース 1: 部分文字列が存在するかどうかを判断する (大文字と小文字を区別しない)
部分文字列が存在するかどうかの大文字と小文字を区別しない検出。 tripos() 関数と strripos() 関数。
stripos() 関数と strripos() 関数はどちらも、大文字と小文字を区別せずに指定された部分文字列の出現位置を確認できます。戻り値が FALSE の場合、指定された部分文字列は存在しません。
したがって、次のコードを使用して部分文字列が存在するかどうかを判断できます。
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; if(stripos($string, $findme)!=FALSE){ echo "子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } if(strripos($string, $findme)!=FALSE){ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } ?>
出力結果:
説明: stripos () および strripos() 関数
stripos($string,$find,$start)
この関数は、別の文字列の場所で最初に出現した文字列を検索できます (大文字と小文字は区別されません)。センシティブ)。
strripos($string,$find,$start)
この関数は、別の文字列内で最後に出現した文字列を検索できます (大文字と小文字は区別されません)。
これら 2 つの関数のパラメータは似ており、どちらも 2 つの必須パラメータ $string
と $find
と 1 つのオプション パラメータ $start# # を受け入れます。 #。
$stringパラメータ: 検索する文字列を指定するために使用されます。
$findパラメータ: 検索する部分文字列を指定するために使用されます。これには 1 つ以上の文字を含めることができます。 (文字列型でない場合は整数に変換され、文字順の値として扱われます)。
$startパラメータ:
$string 内のどの文字から検索を開始するかを指定するために使用されます。返される位置数値は依然として相対的なものです。
$string の開始位置。
ケース 2: 部分文字列が存在するかどうかを検出します (大文字と小文字を区別します)
大文字と小文字を区別する検出文字列が存在するかどうか、 strpos() 関数と strrpos() 関数を使用する必要があります。 strpos() および strrpos() 関数は、指定された部分文字列の大文字と小文字を区別して出現位置をチェックできます。戻り値が FALSE の場合、指定された部分文字列は存在しません。 例:<?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 "子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos2 !=FALSE){ echo "<br>子串 '$findme1' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme1' 在字符串 '$string' 中不存在。"; } if($pos3 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } if($pos4 !=FALSE){ echo "<br>子串 '$findme2' 在字符串 '$string' 中存在。"; }else{ echo "<br>子串 '$findme2' 在字符串 '$string' 中不存在。"; } ?>strpos() 関数と strrpos() 関数は、文字列
$string$findme1
or 内の部分文字列を大文字と小文字を区別して検索します。
$findme2。完全に一致し、部分文字列が存在する場合は、文字列内でその部分文字列が最初または最後に出現したものが返されます。文字列内に部分文字列が見つからない場合は、
FALSE が返されます。
bc」と文字列「
ABCDCBAbcd」のみが完全に一致し、部分文字列「
」はbc" は文字列 "
ABCDCBAbcd" に存在するとみなされます。したがって、出力結果は次のようになります:
説明: strpos() および strrpos() 関数
strpos($string,$find,$start)関数は部分文字列が最初に出現する位置を返すことができます (大文字と小文字が区別されます);
strrpos ($string ,$find,$start)関数は、部分文字列 (大文字と小文字を区別) が最後に出現した位置を返すことができます。
$string (検索対象の文字列) と
$find (検索対象の部分文字列)、および 1 つのオプションのパラメータ
$start を受け入れます。 (検索の開始位置)。
注: 文字列の位置は 1 ではなく 0 から始まります。
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCabcabcABC"; $findme1 = "c"; $findme2 = "C"; echo "子串 '$findme1' 第一次出现的位置:".strpos($string, $findme1); echo "<br>子串 '$findme1' 最后一次出现的位置:".strrpos($string, $findme1); echo "<br>子串 '$findme2' 第一次出现的位置:".strpos($string, $findme2); echo "<br>子串 '$findme2' 最后一次出现的位置:".strrpos($string, $findme2); ?>出力結果: 推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPに部分文字列が存在するかどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。