【PHP8.x】strripos関数の使い方

作成日: 更新日:

strripos関数は、ある文字列の中から、指定した部分文字列が大文字と小文字を区別せずに最後に出現する位置を見つけるための関数です。この関数は、与えられた文字列($haystack)の中で、探したい部分文字列($needle)がどこにあるかを検索します。

検索の方向は指定しませんが、結果として返されるのは見つかった部分文字列の最後の出現位置です。この位置は、文字列の先頭から数えた番号(オフセット)として整数で返されます。文字列の最初の文字の位置は0番目です。もし部分文字列が見つからない場合は、論理値のfalseを返します。

例えば、「Applepie」という文字列の中から「p」を検索した場合、strripos関数は最後の「p」の位置である6を返します(0から数えるため)。「PHP」と「php」を同じものとして扱いますので、大文字小文字の違いを気にせず検索したい場合に非常に便利です。

オプションの引数$offsetを指定すると、検索を開始する位置を調整できます。正の値を指定すれば文字列の先頭からその位置以降を、負の値を指定すれば文字列の末尾からその位置分戻った位置から検索が始まります。

strripos関数は、返り値が0(文字列の先頭で見つかった場合)とfalse(見つからなかった場合)の両方があり得るため、結果を評価する際には厳密な比較演算子(===)を使用することが強く推奨されます。これにより、意図しないバグを防ぐことができます。PHP 8においても、この関数の基本的な動作と機能は変わりません。

基本的な使い方

構文(syntax)

<?php
$haystack_string_value = "This is a test string for testing PHP strripos function with test.";
$needle_string_value = "test";
$offset_integer_value = 0;

$result_int_or_false = strripos(
    haystack: $haystack_string_value,
    needle: $needle_string_value,
    offset: $offset_integer_value
);
?>

引数(parameters)

string $haystack, string $needle, int $offset = 0

  • string $haystack: 検索対象となる文字列
  • string $needle: 検索する文字列
  • int $offset = 0: 検索を開始する位置(省略可能、デフォルトは文字列の先頭)

戻り値(return)

int|false

指定された文字列が、別の文字列内で最初に見つかった位置(インデックス)を返します。見つからなかった場合は false を返します。

【PHP8.x】strripos関数の使い方 | いっしー@Webエンジニア