PHP Conference Nagoya 2025

mb_strrchr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrchr別の文字列の中で、ある文字が最後に現れる場所を見つける

説明

mb_strrchr(
    string $haystack,
    string $needle,
    bool $before_needle = false,
    ?string $encoding = null
): string|false

mb_strrchr() は、 haystack の中で最後に needle が現れる場所を探し、 haystack の部分文字列を返します。 needle が見つからなかった場合は false を返します。

パラメータ

haystack

needle が最後に現れる位置を探す文字列。

needle

haystack の中で探す文字列。

before_needle

この関数が haystack のどの部分を返すのかを指定します。 true の場合は、haystack の先頭から needle が最後に現れる位置までを返します。 false の場合は、needle が最後に現れる位置から haystack の最後までを返します。

encoding

使用する文字エンコーディングの名前。 省略した場合は内部文字エンコーディングを使用します。

戻り値

haystack の部分文字列を返します。 needle が見つからない場合は false を返します。

変更履歴

バージョン 説明
8.0.0 needle は、空の文字列も受け入れるようになりました。
8.0.0 encoding は、nullable になりました。

参考

  • strrchr() - 文字列中に文字が最後に現れる場所を取得する
  • mb_strstr() - 文字列の中で、指定した文字列が最初に現れる位置を見つける
  • mb_strrichr() - 大文字小文字を区別せず、 別の文字列の中である文字が最後に現れる場所を探す

add a note

User Contributed Notes 1 note

up
0
Anonymous
1 year ago
needle: /
string: o/a/i

if before_needle is 1 then needle is excluded: "o/a"
if before_needle is false then needle is included: "/i"

as code:

$str="o/a/i";
$cs="/";

echo "if before_needle == 1 then needle is excluded"."\n";
$str="o/a/i";
$cs="/";
echo mb_strrchr ($str,$cs,1)."\n";

echo "if before_needle == false then needle is included"."\n";
$str="o/a/i";
$cs="/";
echo mb_strrchr ($str,$cs,0)."\n";
To Top