PHP 字符串 strstr() 函数

17 Mar 2025 | 4 分钟阅读

strstr() 函数是 PHP 的内置函数。它是一个**区分大小写**的函数,用于查找字符串的第一次出现。strstr() 主要用于在另一个字符串中搜索字符串的第一次出现,并显示从该字符串在后者中第一次出现的位置开始的部分。

它是一个**二进制安全**函数,意味着该函数可以在不修改文件内容的情况下对二进制文件执行操作。strstr() 函数类似于 stristr() 函数,但唯一的区别是:stristr() 是不区分大小写的函数,而 strstr() 是区分大小写的。

注意:strstr() 是**二进制安全**且**区分大小写**的函数。

语法

PHP strstr() 函数的语法如下,它包含三个参数。

参数

$string (必需):$string 是一个强制参数,指定要搜索的字符串。换句话说,它是主要字符串参数,其中搜索 $search 值。

$search (必需):此函数的下一个**强制**参数是 $search。它指定了将在 $string 参数中搜索的字符串。如果此参数包含数字或整数值而不是字符串,则它将搜索与该数字的 ASCII 值匹配的字符。

$before_search (可选):它是 strstr() 函数的最后一个**可选**参数,指定布尔值,其默认值为 **FALSE**。如果将其设置为 TRUE,则它将返回搜索参数第一次出现之前的字符串部分。

返回值

PHP strstr() 返回剩余的字符串(从匹配点开始),如果未找到要搜索的字符串,则返回 **FALSE**。

技术细节

PHP 版本支持PHP 4+ 版本支持此函数。
返回值strstr() 返回字符串的其余部分,如果未找到要搜索的字符串,则返回 False。
ChangeLog
  • 在 strstr() 中,$before_search 参数在 PHP 5.3 中添加。

strstr() 的示例

下面给出了一些示例,可以帮助我们学习此函数的实际用法。

//Returns remaining string after search found
Input:
$string1 = "Hello! Good Morning everyone", $search1 = "Good";
Output: Morning everyone

//case-sensitive, returns nothing
Input:
$string = "Hello! Good Morning everyone ", $search = "HELLO ";
Output: 							

//Returns initial string when search found
Input:
$string = "Hello! Good Morning everyone", $search = "Good", before_search = true;
Output: Hello!								

//Passing ASCII value of r which is 114
Input:
$string = "I want to travel the world ", $search = "114", before_search = true;
Output: I want to t

下面给出了一些详细示例。借助这些示例,我们可以更好地理解此函数的用法。

示例 1

这是一个 strstr() 的简单示例,它显示它是一个区分大小写的函数,因此如果字符串不匹配,它将返回 FALSE。它将从 $search 变量在字符串中找到的位置开始返回字符串的其余部分。

输出

PHP String strstr() function

示例 2

在下面的示例中,我们将使用第三个参数 $before_search,其默认值为 **FALSE**。在这里,我们将其设置为 **TRUE**,这将返回 $search 参数第一次出现之前的字符串部分。如果未找到搜索字符串,则它将返回布尔值 **false**。

输出

PHP String strstr() function

示例 3

我们也可以在 $search 参数中传递整数值而不是字符串或字符。此整数值被视为 ASCII 值并转换为字符。在此示例中,我们将在 $search 中传递一个整数。

输出

PHP String strstr() function

注意:var_dump() 函数主要用于在浏览器上显示布尔值。除了布尔值,它还显示参数的数据类型和该参数中可用的字符数,如上例所示。Echo 不足以打印这些信息。


下一个主题PHP 字符串函数