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

作成日: 更新日:

strrchr関数は、指定された文字列($haystack)の中から、特定の文字($needle)が最後に現れる位置を探し、その位置から元の文字列の最後までを返す関数です。この関数は、主に文字列の特定の部分を抽出したい場合に利用されます。

引数としては、まず検索対象となる文字列を一つ目に指定します。二つ目の引数には、検索したい文字を指定します。この$needle引数に複数の文字を指定した場合でも、実際に検索の対象となるのはその最初の1文字のみである点にご注意ください。

戻り値としては、$needleが見つかった場合、その$needleを含む、最後に$needleが現れた位置から文字列の終わりまでの部分文字列を返します。もし$needle$haystackの中で見つからなかった場合は、falseを返します。このfalseが返されたかどうかを確認することで、指定した文字が存在したかを判断できます。

この関数は、大文字と小文字を区別して検索を実行します。例えば、「A」と「a」は異なる文字として扱われます。似た機能を持つstrchr関数やstrstr関数が最初に見つかった文字の位置から文字列を返すのに対し、strrchr関数は「最後に」見つかった位置から返す点が特徴です。例えば、ファイルパスから拡張子を除いたファイル名を取得する際など、文字列の後方から特定の区切り文字を検索したい場合に特に役立ちます。

基本的な使い方

構文(syntax)

strrchr(string $haystack, string|int $needle): string|false

引数(parameters)

string $haystack, string $needle, bool $before_needle = false

  • string $haystack: 検索対象の文字列
  • string $needle: 検索する文字列
  • bool $before_needle = false: trueの場合、$needle より前の部分文字列を返す

戻り値(return)

string|false

指定された文字列の最後に出現する指定文字以降の部分文字列を返します。指定文字が見つからなかった場合は false を返します。

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