関数の概要
strripos は、PHPで文字列の中から指定した部分文字列が最後に現れる位置を、大文字・小文字を区別せずに検索する関数です。文字列操作の際に、ケースを無視して最後の出現位置を知りたい場合に便利です。
パラメータの説明
- haystack (string):検索対象の文字列。
- needle (string):検索する部分文字列。通常は文字列ですが、1文字の場合は整数のASCIIコードでも指定可能です。
- offset (int, オプション):検索開始位置を文字列の先頭からのオフセットで指定します。負の値も指定可能で、その場合は文字列の末尾からの位置になります。
戻り値
指定した needle が haystack の中で最後に現れる位置を、先頭からのオフセット(0から始まる整数)で返します。needle が見つからない場合は FALSE を返します。
使用例
基本的な使い方
<?php
$text = "Hello World, hello PHP!";
$pos = strripos($text, "hello");
var_dump($pos);
?>
この例では、”hello” が最後に現れる位置(大文字小文字を区別しない)を検索します。結果は13となり、”hello PHP!”の “hello” の開始位置を示します。
検索位置を指定する例
<?php
$text = "Example example ExAmple";
$pos = strripos($text, "example", 10);
var_dump($pos);
?>
検索開始位置を10文字目からに指定しているため、それ以降で最後に現れる “example” の位置が返されます。この場合は17が返ります。
見つからなかった場合の例
<?php
$text = "PHP string functions";
$pos = strripos($text, "JavaScript");
var_dump($pos);
?>
“JavaScript” は文字列内に存在しないため、結果は bool(false) となります。
関連する関数
strpos:大文字小文字を区別して最初の位置を検索する。stripos:大文字小文字を区別せずに最初の位置を検索する。strrpos:大文字小文字を区別して最後の位置を検索する。
まとめ
strripos は、大文字小文字の違いを無視して文字列の最後に指定した部分文字列が現れる位置を知りたいときに非常に役立つ関数です。検索開始位置を指定することも可能なので、用途に応じて柔軟に使えます。文字列操作をする際には、似た関数と使い分けて効率的に処理を行いましょう。
