(PHP 4, PHP 5, PHP 7, PHP 8)
strstr — 文字列が最初に現れる位置を見つける
$haystack
, string $needle
, bool $before_needle
= false
): string|false
haystack
の中で needle
が最初に現れる場所を含めてそこから文字列の終わりまでを返します。
注意:
この関数は大文字小文字を区別することに注意してください。 大文字小文字を区別しない検索を行う場合は、stristr() を使用してください。
注意:
もし特定の
haystack
にneedle
があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。
haystack
入力文字列。
needle
PHP 8.0.0 より前のバージョンでは、needle
が文字列でない場合、
数値に変換され、文字の通常の値として扱われていました。
この振る舞いは PHP 7.3.0 以降では推奨されないので、
この機能を使用しないことを強く推奨します。
意図した動作に依存する場合、
needle
を string に明示的にキャストするか、
明示的に chr() 関数を呼び出すべきでしょう。
before_needle
true
にすると、strstr()
の戻り値は、haystack
の中で最初に
needle
があらわれる箇所より前の部分となります (needle は含めません)。
部分文字列を返します。
needle
が見つからない場合は false
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
needle に数値を渡すことはサポートされなくなりました。
|
7.3.0 |
needle に数値を渡すことは非推奨になりました。
|
例1 strstr() の例
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com と表示します
$user = strstr($email, '@', true);
echo $user; // name と表示します
?>