strstr
(PHP 4, PHP 5, PHP 7)
strstr — 文字列が最初に現れる位置を見つける
説明
strstr
( string $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); // PHP 5.3.0 以降echo $user; // name と表示します?>
参考
- stristr() - 大文字小文字を区別しない strstr
- strrchr() - 文字列中に文字が最後に現れる場所を取得する
- strpos() - 文字列内の部分文字列が最初に現れる場所を見つける
- strpbrk() - 文字列の中から任意の文字を探す
- preg_match() - 正規表現によるマッチングを行う