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

作成日: 更新日:

strpos関数は、ある文字列の中に特定の文字列が最初に現れる位置を見つける関数です。この関数は、主に二つの引数を受け取ります。一つ目は検索対象となる大きな文字列(haystack)、二つ目は探し出す小さな文字列(needle)です。さらに、検索を開始する位置を数値で指定するオプションの引数(offset)も利用できます。このoffsetが正の値であればその位置から右へ、負の値であれば文字列の末尾から数えてその位置から右へ検索を開始します。

もし探している文字列が見つかった場合、strpos関数は、その文字列が最初に現れる位置を0から始まる数値として返します。例えば、文字列の先頭で見つかれば0を返します。しかし、もし文字列が見つからなかった場合は、ブール値のfalseを返します。この戻り値の特性から、文字列が見つからなかった場合のfalseと、文字列が先頭で見つかった場合の0を区別するために、厳密な比較演算子(===)を使用してfalseかどうかを判断することが非常に重要です。また、strpos関数は大文字と小文字を区別して検索を行います。大文字と小文字を区別せずに検索したい場合は、stripos関数を使用してください。この関数は、テキスト処理において特定のパターンを検出する際に広く利用されます。

基本的な使い方

構文(syntax)

strpos(string $haystack, string $needle, int $offset = 0): int|false

引数(parameters)

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

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

戻り値(return)

int|false

strpos関数は、指定された文字列の中で、最初に見つかった部分文字列のオフセット(位置)を整数で返します。部分文字列が見つからなかった場合はfalseを返します。

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