文字列が最初に現れる位置を見つける

# strstr

(PHP 4, PHP 5, PHP 7)

strstr — 文字列が最初に現れる位置を見つける

### 説明

strstr ( string `$haystack` , mixed `$needle` [, bool `$before_needle` = `FALSE` ] ) : string

`haystack` の中で `needle` が最初に現れる場所を含めてそこから文字列の終わりまでを返します。

> 注意:

> この関数は大文字小文字を区別することに注意してください。 大文字小文字を区別しない検索を行う場合は、stristr() を使用してください。

> 注意:

> もし特定の `haystack` に `needle` があるかどうかを調べるだけの場合、 より高速でメモリ消費も少ない strpos() を代わりに使用してください。

### パラメータ

`haystack`

  入力文字列。

`needle`

  `needle` が文字列でない場合は、 それを整数に変換し、その番号に対応する文字として扱います。

`before_needle`

  `TRUE` にすると、strstr() の返り値は、`haystack` の中で最初に `needle` があらわれる箇所より前の部分となります (needle は含めません)。

### 返り値

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

### 変更履歴

バージョン | 説明
--- | ---
5.3.0 | オプションの `before_needle` パラメータが追加されました。
4.3.0 | strstr() がバイナリセーフとなりました。

### 例

例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() - 正規表現によるマッチングを行う