(PHP 4, PHP 5)
strrpos — 文字列中に、ある部分文字列が最後に現れる場所を探す
文字列 haystack の中で、 needle が最後に現れた位置を数字で返します。
検索を行う文字列。
needle が文字列でない場合は、 それを整数に変換し、その番号に対応する文字として扱います。 PHP 4 では、needle には一文字だけしか指定できませんでした。
文字列中の任意の文字位置から検索を開始することができます。 負の値を指定すると、文字の終端より前の任意の位置で検索を終了します。
needle が存在する位置を返します。 needle が見つからない場合、FALSE を返します。
バージョン | 説明 |
---|---|
5.0.0 | needle は 1 文字以上の文字列を指定可能です。 |
5.0.0 | offset パラメータが追加されました。 |
例1 needle が haystack の中にあるかどうかの確認
"位置 0 に文字が見つかった" と "文字が見つからなかった" 場合の返り値は混同しやすいです。この違いを見分ける方法を以下に示します。
<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // 注意: 等号が 3 つ並んでいます
// 見つからない...
}
?>
例2 オフセットつきの検索
<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // 末尾から 5 文字戻ったところから検索を始めます
// 結果: int(17)
var_dump(strrpos($foo, '7', 20)); // 文字列の 20 文字目から検索を始めます
// 結果: int(27)
var_dump(strrpos($foo, '7', 28)); // 結果: bool(false)
?>