PHP 教程

PHP substr_count() 函数

PHP String 参考手册 PHP String 参考手册

实例

计算 "world" 在字符串中出现的次数:

<?php
echo substr_count("Hello world. The world is nice","world");
?>

运行结果:

2

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>"; // Using strlen() to return the string length
echo substr_count($str,"is")."<br>"; // The number of times "is" occurs in the string
echo substr_count($str,"is",2)."<br>"; // The string is now reduced to "is is PHP"
echo substr_count($str,"is",3)."<br>"; // The string is now reduced to "s is PHP"
echo substr_count($str,"is",3,3)."<br>"; // The string is now reduced to "s i"
?>

运行结果:

12
2
2
1
0

实例 2

重叠的子串:

<?php
$str = "abcabcab"; 
echo substr_count($str,"abcab"); // This function does not count overlapped substrings
?>

运行结果:

1

实例 3

如果 start 和 length 参数超过字符串长度,该函数则输出一个警告:

<?php
echo $str = "This is nice";
substr_count($str,"is",3,9);
?>

由于长度值超过字符串的长度(3 + 9大于12)。所以这将输出一个警告。


PHP String 参考手册 PHP String 参考手册