失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PHP字符串学习之统计字符的出现次数

PHP字符串学习之统计字符的出现次数

时间:2021-07-31 07:40:57

相关推荐

PHP字符串学习之统计字符的出现次数

后端开发|php教程

PHP,字符串,字符出现次数

后端开发-php教程

前文中我们介绍了不区分大小写的将给定子串替换成其他值的方法,感兴趣的可以点击链接查阅→《PHP巧用函数将给定子串换成*号(大小写不敏感)》。这次我们介绍一下使用PHP统计字符串中字符出现次数的方法,有需要的可以参考参考。

网页鼠标点击触发源码,vscode怎么pip,16.04 ubuntu,tomcat配置get,sqlite的下载安装,dz论坛认证插件免费下载,开发crm用什么前端框架好,爬虫在网站爬取表格,php 彩票系统,乐山seo优化推荐,网站源码 百度云,网页样式三d图片切换演示,dedecms 教育 模板lzw

相信,给出一个字符串“aaabbccqqwweeab”,如何统计出每个字符的出现次数?可以借助循环

微信音乐播放器源码,vscode兼容不同格式文件,ubuntu与conda,tomcat为啥没默认访问,爬虫大赛奖励,php防采集代码,番禺seo网络营销培训运营lzw

<?phpheader("Content-Type: text/html;charset=utf-8"); //设置字符编码//统计字符串中出现的字符,出现次数$str = aaabbccqqwweeab;//字符串示例echo "字符串为:".$str.

;$strRecord=array();//把出现过的字符记录在此数组中,如果记录有,则不记录,for($i=0;$i$v){ if($str[$i] == $v[key]){ $strRecord[$k][count] += 1;//已经遇到,count + 1; $found = 1;//设置已经遇到过的,标记 continue;//如果已经遇到,不用再循环记录数组了,继续下一个字符串比较 } } if(!$found){ $strRecord[] = array(key=>$str[$i],count=>1);//记录没有遇到过的字符串 }}echo

;print_r($strRecord);?>

分析:

数据库操作源码,ubuntu 界面模糊,部署到tomcat后更新,女子图片爬虫,php网站打包成exe,杭州seo快速排名优化专业团队lzw

循环一次$str字符串,将出现过的字符记录在$strRecord数组(只记录一次,如果重复了,就忽略)。

遍历$strRecord数组,将字符串中的每个字符($str[$i])和数组的值($strRecord[][key])进行比较;如果记录里的某个值和这个字符一样,就记录次数($strRecord[][count])+1。

我们来看看输出结果:

OK,统计出来了!

但有时我们不需要统计全部字符,只需要计算指定的一个字符/子串的出现次数,这样怎么操作?

这也简单,PHP提供了一个内置函数可以解决这个问题。我们来看看下面一个例子:

<?phpheader("Content-Type: text/html;charset=utf-8"); //设置字符编码$str = aaabbccqqwweeab;echo "字符串为:".$str.

;echo "字符串中出现了 ".substr_count($str,a)." 次 a字符!";echo "

字符串中出现了 ".substr_count($str,ab)." 次 ab子串!";?>

分析:我们使用“substr_count($str,a)”和“substr_count($str,ab)”语句来统计字符串$str中“a”字符和“ab”字符的出现次数。大家觉得这个会输出什么?是不是应该输出“4”和“2”呀。那么对不对?我们来看一下输出结果:

正确!“a”字符和“ab”字符的出现次数就是“4”和“2”。

下面我们来了解一下这其中的关键函数substr_count()。

substr_count()函数可以计算子串(由一个或多个字符组成)在字符串中出现的次数(区分大小写)。

substr_count($string,$substring,$start,$length)函数接受2个必需参数$string和$substring、2个可省略参数$start和$length。

前2个必需参数我们通过上面的代码示例已经对大家有所了解,下面我们来看看2个可省略参数$start和$length。

$start:用于指定在字符串中何处开始搜索子串

$length:用于指定搜索的长度

根据参数$start和$length设置的值不同,substr_count()函数返回的值也不同。

<?phpheader("Content-Type: text/html;charset=utf-8"); //设置字符编码$str = aaabbccqqwweeab;echo "字符串为:".$str.

;echo "字符串中出现了 ".substr_count($str,a,0,5)." 次 a字符!";echo "

字符串中出现了 ".substr_count($str,a,2,5)." 次 a字符!";echo "

字符串中出现了 ".substr_count($str,ab,0,10)." 次 ab子串!";echo "

字符串中出现了 ".substr_count($str,ab,3)." 次 ab子串!";?>

输出结果:

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教学

最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

如果觉得《PHP字符串学习之统计字符的出现次数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。