php中3种方法统计字符串中每种字符的个数并排序


Posted in PHP onAugust 27, 2012
<?php 
//这个方法纯粹是背函数,不解释; 
function countStr($str){ 
$str_array=str_split($str); 
$str_array=array_count_values($str_array); 
arsort($str_array); 
return $str_array; 
} 
//以下是例子; 
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas"; 
print_r(countStr($str)); 
?> 
<? 
//这个方法有些数据结构的思想,不过还是很好理解的:) 
function countStr2($str){ 
$str_array=str_split($str); 
$result_array=array(); 
foreach($str_array as $value){//判断该字符是否是新出现的种类,是的话就设置为1,不是的话就自加; 
if(!$result_array[$value]){ 
$result_array[$value]=1; 
}else{ 
$result_array[$value]++; 
} 
} 
arsort($result_array); 
return $result_array; 
} 
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas"; 
var_dump(countStr2($str)) 
?> 
<?php 
//这个方法纯粹是解法一的蹩脚版本,先找出所有字符的总类,然后在一个一个用substr_count函数统计。 
function countStr3($str){ 
$str_array=str_split($str); 
$unique=array_unique($str_array); 
foreach ($unique as $v){ 
$result_array[$v]=substr_count($str,$v); 
} 
arsort($result_array); 
return $result_array; 
} 
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas"; 
var_dump(countStr3($str)); 
?>

*无论是用哪一个方法,都要用到str_split函数,所以说,这个函数很重要哦~
PHP 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
php/js获取客户端mac地址的实现代码
Jul 08 PHP
PHP Curl多线程原理实例详解
Nov 06 PHP
php实现的替换敏感字符串类实例
Sep 22 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
PHP chop()函数讲解
Feb 11 PHP
php7新特性的理解和比较总结
Apr 14 PHP
php7 新增功能实例总结
May 25 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 #PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 #PHP
php基础教程 php内置函数实例教程
Aug 21 #PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 #PHP
php计算十二星座的函数代码
Aug 21 #PHP
表格展示无限级分类(PHP版)
Aug 21 #PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 #PHP
You might like
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
Vue组件化开发思考
2018/02/02 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
深入源码解析Python中的对象与类型
2015/12/11 Python
Python中字符串的格式化方法小结
2016/05/03 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python实现购物车功能的方法分析
2017/11/10 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
国庆节文艺活动方案
2014/02/03 职场文书
甜品店创业计划书
2014/08/14 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
表扬稿格式范文
2015/01/16 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL