PHP中substr_count()函数获取子字符串出现次数的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP中substr_count()函数获取子字符串出现次数的方法。分享给大家供大家参考,具体如下:

PHP中的substr_count()可用于计算指定字符串中子字符串出现的次数。

substr_count()函数定义如下:

substr_count(string,substring,start,length)

参数说明:

string     必需。规定被检查的字符串。
substring  必需。规定要搜索的字符串。
start      可选。规定在字符串中何处开始搜索。
length     可选。规定搜索的长度。

示例代码如下:

<?php
 $str="【宜配屋www.yipeiwu.com】提供大量脚本代码及脚本特效下载";
 echo substr_count($str,"脚本");
 echo "<br/>";
 echo substr_count($str,"脚本",16);//指定在第16个字符后开始搜索
 echo "<br/>";
 echo substr_count($str,"脚本",16,10);//指定从第16个字符开始往后搜索10个字符结束
?>

运行结果如下:

3
2
1

参数 描述
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),使用会输出一个警告。

更多关于PHP字符串操作相关内容可查看本站专题:《php字符串(string)用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法

下面的代码:在chrome和firefox下可以生成三个cookie: cookie[one]、cookie[two]、cookie[three] 在IE下,只能生成cookie[one...

PHP面向对象概念

关键字和特殊变量 new,class,extends。这三个,大家都懂得。 ::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访...

常见PHP数据库解决方案分析介绍

常见PHP数据库解决方案分析介绍

我们在使用PHP连接数据库的时候会遇到很多问题,文章这里揭露PHP应用程序中出现的常见数据库问题 —— 包括数据库模式设计、数据库访问和使用数据库的业务逻辑代码 —— 以及它们的解决方案...

PHP获取指定月份第一天和最后一天的方法

本文实例讲述了PHP获取指定月份第一天和最后一天的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:$date = date(time()); $start_date = da...

谈PHP生成静态页面分析 模板+缓存+写文件

一、引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编...