在 php 中,有时我们需要在一个字符串中查找一个子串,然后根据结果进行下一步操作。php 提供了一些内置函数来帮助我们实现这个目标。下面介绍几种常用的方法。
- strpos 函数
strpos 函数用于查找字符串中是否包含另一个字符串,并返回匹配到的第一个位置的索引值。如果没有找到匹配的子串,则返回 false。
示例代码:
$str = 'Hello, World!';
$substr = 'World';
if (strpos($str, $substr) !== false) {
echo 'Found';
} else {
echo 'Not found';
}输出结果为:Found
- strstr 函数
strstr 函数用于查找字符串中是否包含另一个字符串,并返回匹配到的第一个位置以及后面的所有字符,如果没有找到匹配的子串,则返回 false。
立即学习“PHP免费学习笔记(深入)”;
示例代码:
$str = 'Hello, World!';
$substr = 'World';
if (strstr($str, $substr) !== false) {
echo 'Found';
} else {
echo 'Not found';
}输出结果为: Found
- substr_count 函数
substr_count 函数用于计算一个字符串中子串出现的次数,返回值为一个 integer 类型的值。
示例代码:
$str = 'Hello, World!'; $substr = 'o'; $count = substr_count($str, $substr); echo "The substring '$substr' appears in '$str' $count times.";
输出结果为:The substring 'o' appears in 'Hello, World!' 2 times.
- preg_match 函数
preg_match 函数使用正则表达式来查找字符串中是否包含一个匹配的子串,并返回一个匹配到的数组。
示例代码:
$str = 'Hello, World!';
$pattern = '/W(\w+)/';
if (preg_match($pattern, $str, $matches)) {
echo 'Found';
print_r($matches);
} else {
echo 'Not found';
}输出结果为:Found Array ( [0] => World [1] => orld )
以上是常见的几种查找子串的方法,当然在不同的场景和需求下,还有其他更加灵活的方法可以使用。











