strrchr
文字列中に文字が最後に現れる場所を取得する
説明
stringfalse strrchr(string $haystack
, string $needle
, bool $before_needle
= false
)
パラメータ
-
haystack
-
検索対象の文字列。
-
needle
-
needle
がひとつ以上の文字を含んでいる場合は、
最初のもののみが使われます。この動作は、
strstr
とは異なります。
PHP 8.0.0 より前のバージョンでは、needle
が文字列でない場合、
数値に変換され、文字の通常の値として扱われていました。
この振る舞いは PHP 7.3.0 以降では推奨されないので、
この機能を使用しないことを強く推奨します。
意図した動作に依存する場合、
needle
を string に明示的にキャストするか、
明示的に chr 関数を呼び出すべきでしょう。
-
before_needle
-
true
にすると、
haystack
の中で
最後に needle
が現れる箇所より前の部分を返します
(needle は含めません)。
戻り値
この関数は、部分文字列を返します。
needle
が見つからない場合は false
を返します。
例
例1 strrchr の例
<?php
$ext = strrchr('somefile.txt', '.');
echo "file extension: $ext \n";
$ext = $ext ? strtolower(substr($ext, 1)) : '';
echo "file extension: $ext";
?>
file extension: .txt
file extension: txt
注意
注意: この関数はバイナリデータに対応しています。