Php/docs/function.strrchr

提供:Dev Guides
< Php
移動先:案内検索

strrchr

(PHP 4, PHP 5, PHP 7)

strrchr文字列中に文字が最後に現れる場所を取得する


説明

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

この関数は、文字列 haystack の中で needle が最後に現れた位置から、 haystack の終わりまでを返します。


パラメータ

haystack

検索を行う文字列。

needle

needle がひとつ以上の文字を含んでいる場合は、 最初のもののみが使われます。この動作は、 strstr() とは異なります。

PHP 8.0.0 より前のバージョンでは、needle が文字列でない場合、 数値に変換され、文字の通常の値として扱われていました。 この振る舞いは PHP 7.3.0 以降では推奨されないので、 この機能を使用しないことを強く推奨します。 意図した動作に依存する場合、 needle を string に明示的にキャストするか、 明示的に chr() 関数を呼び出すべきでしょう。


返り値

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


変更履歴

バージョン 説明
8.0.0 needle に数値を渡すことはサポートされなくなりました。
7.3.0 needle に数値を渡すことは非推奨になりました。


例1 strrchr() の例

<?php// $PATH 中の最後のディレクトリを取得$dir = substr(strrchr($PATH, ":"), 1);// 最後の改行文字以降をすべて取得$text = "Line 1\nLine 2\nLine 3";$last = substr(strrchr($text, 10), 1 );?>

注意

注意:

この関数はバイナリデータに対応しています。

参考

  • strstr() - 文字列が最初に現れる位置を見つける
  • strrpos() - 文字列中に、ある部分文字列が最後に現れる場所を探す