strrchr

関数の概要

PHPのstrrchr関数は、文字列の中で指定した文字が最後に現れる位置から、その文字以降の部分文字列を取得するための関数です。例えば、ファイル名の拡張子を取得したい場合や、特定の区切り文字以降の文字列を切り出したい場合に便利です。

パラメータの説明

  • haystack (string): 対象となる文字列を指定します。
  • needle (string): 検索する文字。文字列の中の最後に現れるこの文字以降が抽出されます。通常は1文字で使います。

戻り値

指定した文字が文字列内に存在すれば、その文字が最後に現れた位置から文字列の末尾までを含む部分文字列を返します。もし文字が見つからなければ false を返します。

使用例

基本的な使い方

<?php
$str = "example@example.com";
$result = strrchr($str, "@");
echo $result; // 出力結果: @example.com
?>

メールアドレスの「@」より後ろの文字列を取得しています。

ファイルの拡張子を取得する

<?php
$filename = "document.pdf";
$ext = strrchr($filename, ".");
echo $ext; // 出力結果: .pdf
?>

ファイル名から最後のドット以降、すなわち拡張子を取得しています。

文字が存在しない場合の処理

<?php
$text = "Hello World";
$result = strrchr($text, "x");
if ($result === false) {
    echo "指定した文字は見つかりませんでした。";
} else {
    echo $result;
}
?>

指定した文字「x」が文字列に含まれていないため、falseが返りメッセージを表示しています。

関連する関数

  • strchr – 文字列内で最初に現れる指定文字以降を取得する関数
  • substr – 指定した位置から部分文字列を切り出す関数
  • strstr – strchrとほぼ同じで、最初に現れる文字以降を返す

まとめ

strrchr関数は、文字列の中で最後に現れる指定文字から後ろの部分を簡単に取得できる便利な関数です。ファイルの拡張子抽出や、特定の記号以降の文字列取得など実務でもよく使われます。文字が存在しなかった場合はfalseが返るため、適切なエラーチェックも忘れずに行うことが重要です。