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
操作Oracle的php类
Oct 09 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
Smarty分页实现方法完整实例
May 11 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
php实现分页功能的详细实例方法
Sep 29 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数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
如何通过python实现人脸识别验证
2020/01/17 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
python基于openpyxl生成excel文件
2020/12/23 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
学生自我鉴定
2013/12/18 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
2014年科研工作总结
2014/12/03 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
交通事故被告答辩状
2015/05/22 职场文书
春晚观后感
2015/06/11 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
解决golang 关于全局变量的坑
2021/05/06 Golang