PHP substr_count() 函数
说明
substr_count()
函数计算子串在字符串中出现的次数。
请注意,子字符串搜索是以区分大小写的方式执行的。
下表总结了该函数的技术细节。
返回值: | 返回子字符串在字符串中出现的次数。 |
---|---|
变更日志: | 自 PHP 7.1.0 起,start 和 length 参数现在可能是负数。 length 参数现在也可能为 0。 |
版本: | PHP 4+ |
语法
substr_count()
函数的基本语法如下:
substr_count(string, substring, start, length);
下面的例子展示了 substr_count()
函数的作用。
<?php
// 示例字符串
$str = "The woodpeckers live in the woods.";
$substr = "wood";
// 计算子串出现次数
echo substr_count($str, $substr);
?>
参数
substr_count()
函数接受以下参数。
参数 | 说明 |
---|---|
string | 必填。 指定要搜索的字符串。 |
substring | 必填。 指定要搜索的子字符串。 |
start | 可选。 指定开始计数的字符串中的位置。 如果为负数,则从字符串末尾开始计数。 |
length | 可选。 指定搜索子字符串的最大长度(在指定的 start 之后)。 负长度从字符串末尾开始计数。 |
更多示例
这里有更多示例展示了 substr_count()
函数的实际工作原理:
以下示例演示了不同参数的用法。
<?php
// 示例字符串
$str = "The woodpeckers live in the woods.";
$substr = "wood";
// 获取字符串的原始长度
echo strlen($str)."<br>"; // Prints: 34
// 字符串被简化为 'woodpeckers',所以它打印 1
echo substr_count($str, $substr, 4, 11)."<br>";
// 字符串被简化为 'the wood',所以它打印 1
echo substr_count($str, $substr, -10, 9)."<br>";
// 字符串被缩减为 'live in',所以它打印 0
echo substr_count($str, $substr, 16, 7);
?>
此函数不计算重叠子字符串,如下例所示。
<?php
// 示例字符串
$str = "abcabcabc";
$substr = "abcabc";
// 计算子串出现次数
echo substr_count($str, $substr); // Prints: 1 (not 2)
?>
如果 start 和 length 参数值的总和大于 string 的长度,则此函数会生成警告。 让我们看一下下面的例子:
<?php
// 示例字符串
$str = "The woodpeckers live in the woods.";
$substr = "wood";
// 生成警告,因为 10 + 30 > 34
echo substr_count($str, $substr, 10, 30);
?>
Advertisements