实例
计算 "Shanghai" 在字符串中出现的次数:
<?php echo substr_count("I love Shanghai. Shanghai is the biggest city in china.","Shanghai"); ?>
substr_count() 函数计算子串在字符串中出现的次数。
注释:子串是区分大小写的。
注释:该函数不计数重叠的子串(参见例子 2)。
注释:如果 start 参数加上 length 参数大于字符串长度,则该函数生成一个警告(参见例子 3)。
语法
substr_count(string,substring,start,length)
参数 | 描述 |
---|---|
string | 必需。规定被检查的字符串。 |
substring | 必需。规定要搜索的字符串。 |
start | 可选。规定在字符串中何处开始搜索。 |
length | 可选。规定搜索的长度。 |
技术细节
返回值: | 返回子串在字符串中出现的次数。 |
PHP 版本: | 4+ |
更新日志: | 在 PHP 5.1 中,新增了 start 和 length 参数。 |
更多实例
例子 1
使用所有的参数:
<?php
$str = "This is nice";
echo strlen($str)."<br>"; // 使用 strlen() 来返回字符串长度
echo substr_count($str,"is")."<br>"; // 字符串中 "is" 出现的次数
echo substr_count($str,"is",2)."<br>"; // 字符串缩减为 "is is nice"
echo substr_count($str,"is",3)."<br>"; // 字符串缩减为 "s is nice"
echo substr_count($str,"is",3,3)."<br>"; // 字符串缩减为 "s i"
?>
例子 2
重叠的子串:
<?php
$str = "abcabcab";
echo substr_count($str,"abcab"); // 此函数不会对重叠的子字符串计数
?>
例子 3
如果 start 和 length 参数超过字符串长度,则该函数会输出一个警告:
<?php echo $str = "This is nice"; substr_count($str,"is",3,9); ?>
因为长度值超过字符串的长度(3 + 9 大于 12),使用会输出一个警告。
正确答案: