PHP实现统计所有字符在字符串中出现次数的方法


Posted in PHP onOctober 17, 2017

本文实例讲述了PHP实现统计所有字符在字符串中出现次数的方法。分享给大家供大家参考,具体如下:

先来看看效果:

PHP实现统计所有字符在字符串中出现次数的方法

算法:

循环一次字符串(本例的$str),把出现过的字符串记录在一个数组(如本例的$strRecord)内,如果已经此记录函数已经有,则不记录;

在每个字符串时,拿来与记录数组的值进行比较(本例的$strRecord[]['key']),如果记录里的某个值和这个字符串一样,就记录次数+1(本例的$strRecord[]['count']);

当然,设置一个变量,默认为false(如本例的$found),记录每次比较完,如果记录数组已经有这个值,就设置为true,通过这个标记,把没有遇到过的数组记录到数组里

实现代码:

<?php
//统计字符串中出现的字符,出现次数
echo '<pre>';
$str = 'aaabbccqqwweedfghhjffffffffggggggggg';//字符串示例
echo $str.'<br/>';
$strRecord=array();//把出现过的字符记录在此数组中,如果记录有,则不记录,
for($i=0;$i<strlen($str);$i++){
 $found = 0;//默认设置为没有遇到过
 foreach((array)$strRecord as $k=>$v){
  if($str[$i] == $v['key']){
   $strRecord[$k]['count'] += 1;//已经遇到,count + 1;
   $found = 1;//设置已经遇到过的,标记
   continue;//如果已经遇到,不用再循环记录数组了,继续下一个字符串比较
  }
 }
 if(!$found){
  $strRecord[] = array('key'=>$str[$i],'count'=>1);//记录没有遇到过的字符串
 }
}
print_r($strRecord);
?>
PHP 相关文章推荐
PHP中实现图片的锐化
Oct 09 PHP
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 PHP
基于PHP-FPM进程池探秘
Oct 17 #PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 #PHP
php封装单文件上传到数据库(路径)
Oct 15 #PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 #PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 #PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 #PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 #PHP
You might like
PHP自定义函数收代码
2010/08/01 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
Node.js的特点详解
2017/02/03 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
Vue中props的使用详解
2018/06/15 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
python的几种开发工具介绍
2007/03/07 Python
Python判断操作系统类型代码分享
2014/11/22 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
使用Python pip怎么升级pip
2020/08/11 Python
社区庆中秋节活动方案
2014/02/07 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
继续教育个人总结
2015/03/03 职场文书
针对吵架老公保证书
2015/05/08 职场文书
如何优化vue打包文件过大
2022/04/13 Vue.js