函数名:strstr()
适用版本:PHP 4, PHP 5, PHP 7
函数描述:strstr()函数用于在字符串中查找指定的子字符串,并返回从该子字符串开始到字符串结尾的部分。如果未找到子字符串,则返回false。
语法:strstr(string $haystack, mixed $needle, bool $before_needle = false): string|false
参数:
- haystack:要在其中查找子字符串的字符串。
- needle:要查找的子字符串。可以是一个字符串或一个数组。
- before_needle(可选):如果设置为true,则返回needle之前的部分;如果设置为false(默认值),则返回needle之后的部分。
返回值:
- 如果找到了子字符串,返回从子字符串开始到字符串结尾的部分。
- 如果未找到子字符串,返回false。
示例:
// 示例1:查找子字符串,并返回从子字符串开始到字符串结尾的部分
$haystack = "Hello, world!";
$needle = "world";
$result = strstr($haystack, $needle);
echo $result; // 输出:world!
// 示例2:查找子字符串,并返回子字符串之前的部分
$haystack = "Hello, world!";
$needle = ",";
$result = strstr($haystack, $needle, true);
echo $result; // 输出:Hello
// 示例3:未找到子字符串,返回false
$haystack = "Hello, world!";
$needle = "foo";
$result = strstr($haystack, $needle);
var_dump($result); // 输出:bool(false)
注意事项:
- 该函数区分大小写,如果需要进行大小写不敏感的查找,可以使用stristr()函数。
- 如果needle是一个数组,函数将对每个元素进行查找,并返回第一个找到的子字符串及其后的部分。
- 从PHP 8.0开始,将不再支持before_needle参数。如果需要返回子字符串之前的部分,可以使用substr()函数来实现。