strrpos( string $haystack, string $needle[, int $offset] )
は、検索対象文字列「$haystack」の中から、検索文字列「$needle」を探し、その検索文字列「$needle」が最後に見付かった位置を得る組み込み関数。
検索文字列が見付からなかった場合、「FALSE」を返す。
strriposと似ているが、strrpos
は、大文字小文字を区別する。
定義
「文字列型 $haystack」の文字列の中から、「多様な型 $needle」の文字列を探し、その文字列が最後に見付かった位置を得る。
パラメータ
- 文字列型 $haystack
検索対象文字列を指定する。
- 多様な型 $needle
検索したい文字列を指定する。
大文字小文字を区別する。
- 整数型 $offset
オプション。
検索文字列「多様な型 $needle」を探し始める位置。オフセット。
負数を指定すると、「文字列型 $haystack」の検索対象文字列の最後から、指定した文字数分を、除外する。
戻り値
「文字列型 $haystack」の検索対象文字列の中から、「多様な型 $needle」の検索文字列を探し、その検索文字列が最後に見付かった位置を返す。
見付からなかった場合は、「FALSE」を返す。
構文
検索対象文字列から検索文字列の位置を得る
「検索対象文字列」から「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。
検索対象文字列から検索文字列の位置を得る(正数のオフセットを指定)
「検索対象文字列」の「正数のオフセット」の位置以降から「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。
検索対象文字列から検索文字列の位置を得る(負数のオフセットを指定)
「検索対象文字列」の文字列の最後から、「負数のオフセット」に指定した数の文字数分を、「検索対象文字列」から除外し、残りの「検索対象文字列」から、「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。
サンプル
検索対象文字列から検索文字列の位置を得る
$var = "abcd abcd abcd";
echo strrpos( $var, "c" ) . "<br />";
?>
↓↓↓出力結果↓↓↓
検索対象文字列から検索文字列の位置を得る(正数のオフセットを指定)
$var = "abcd abcd abcd";
echo strrpos( $var, "c", 10 ) . "<br />";
?>
↓↓↓出力結果↓↓↓
検索対象文字列から検索文字列の位置を得る(負数のオフセットを指定)
$var = "abcd abcd abcd";
echo strrpos( $var, "c", -5 ) . "<br />";
?>
↓↓↓出力結果↓↓↓
検索対象文字列に、検索文字列があるかどうかを調べる
結果の比較に、型も含めて比較する等価演算子「===
」を使っている点に注目。
大文字と小文字を区別している点に注目。
$varStrA = "abcd abcd ";
$varStrB = "c";
$varPos = strrpos( $varStrA, $varStrB );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
$varStrB = "C";
$varPos = strrpos( $varStrA, $varStrB );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
$varStrB = "a";
$varPos = strrpos( $varStrA, $varStrB, -6 );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
$varStrB = "bc";
$varPos = strrpos( $varStrA, $varStrB );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
$varStrB = "cb";
$varPos = strrpos( $varStrA, $varStrB );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
$varStrB = "j";
$varPos = strrpos( $varStrA, $varStrB );
if ( $varPos === false) {
echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
echo "<p>「{$varStrB}」は、含まれる。</p>";
echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";
?>
↓↓↓出力結果↓↓↓
見付かった位置は、「7」。
「C」は、含まれない。
「a」は、含まれる。
見付かった位置は、「0」。
「bc」は、含まれる。
見付かった位置は、「6」。
「cb」は、含まれない。
「j」は、含まれない。