説明
stringfalse strstr(string $haystack
, string $needle
, bool $before_needle
= false
)
注意:
この関数は大文字小文字を区別することに注意してください。
大文字小文字を区別しない検索を行う場合は、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
を返します。
例
例1 strstr の例
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com と表示します
$user = strstr($email, '@', true);
echo $user; // name と表示します
?>
参考
- stristr
- strrchr
- strpos
- strpbrk
- preg_match