strrpos( string $haystack, string $needle[, int $offset] )

strrpos( string $haystack, string $needle[, int $offset] )は、検索対象文字列「$haystack」の中から、検索文字列「$needle」を探し、その検索文字列「$needle」が最後に見付かった位置を得る組み込み関数。

検索文字列が見付からなかった場合、「FALSE」を返す。

strriposと似ているが、strrposは、大文字小文字を区別する。

定義

整数型 strrpos( 文字列型 $haystack, 多様な型 $needle[, 整数型 $offset] );

「文字列型 $haystack」の文字列の中から、「多様な型 $needle」の文字列を探し、その文字列が最後に見付かった位置を得る。

パラメータ

文字列型 $haystack

検索対象文字列を指定する。

多様な型 $needle

検索したい文字列を指定する。

大文字小文字を区別する。

整数型 $offset

オプション。

検索文字列「多様な型 $needle」を探し始める位置。オフセット。

負数を指定すると、「文字列型 $haystack」の検索対象文字列の最後から、指定した文字数分を、除外する。

戻り値

「文字列型 $haystack」の検索対象文字列の中から、「多様な型 $needle」の検索文字列を探し、その検索文字列が最後に見付かった位置を返す。

見付からなかった場合は、「FALSE」を返す。

構文

検索対象文字列から検索文字列の位置を得る

見付かった位置 = strrpos( 検索対象文字列, 検索文字列 );

「検索対象文字列」から「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。

検索対象文字列から検索文字列の位置を得る(正数のオフセットを指定)

見付かった位置 = strrpos( 検索対象文字列, 検索文字列, 正数のオフセット );

「検索対象文字列」の「正数のオフセット」の位置以降から「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。

検索対象文字列から検索文字列の位置を得る(負数のオフセットを指定)

見付かった位置 = strrpos( 検索対象文字列, 検索文字列, 負数のオフセット );

「検索対象文字列」の文字列の最後から、「負数のオフセット」に指定した数の文字数分を、「検索対象文字列」から除外し、残りの「検索対象文字列」から、「検索文字列」を探し、その検索文字列が最後に見付かった位置を得る。

サンプル

検索対象文字列から検索文字列の位置を得る

<?php
$var = "abcd abcd abcd";
echo strrpos( $var, "c" ) . "<br />";
?>

↓↓↓出力結果↓↓↓

12

検索対象文字列から検索文字列の位置を得る(正数のオフセットを指定)

<?php
$var = "abcd abcd abcd";
echo strrpos( $var, "c", 10 ) . "<br />";
?>

↓↓↓出力結果↓↓↓

12

検索対象文字列から検索文字列の位置を得る(負数のオフセットを指定)

<?php
$var = "abcd abcd abcd";
echo strrpos( $var, "c", -5 ) . "<br />";
?>

↓↓↓出力結果↓↓↓

7

検索対象文字列に、検索文字列があるかどうかを調べる

結果の比較に、型も含めて比較する等価演算子===」を使っている点に注目。

大文字と小文字を区別している点に注目。

<?php

$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 />";

?>

↓↓↓出力結果↓↓↓

「c」は、含まれる。
見付かった位置は、「7」。

「C」は、含まれない。

「a」は、含まれる。
見付かった位置は、「0」。

「bc」は、含まれる。
見付かった位置は、「6」。

「cb」は、含まれない。

「j」は、含まれない。

スポンサード リンク

カテゴリー: PHP, 文字列, 検索, 組み込み関数 タグ: パーマリンク