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 相关文章推荐
社区(php&amp;&amp;mysql)五
Oct 09 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
php的mssql数据库连接类实例
Nov 28 PHP
php判断访问IP的方法
Jun 19 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
PHP 的Opcache加速的使用方法
Dec 29 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
php 归并排序 数组交集
2011/05/10 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
js点击选择文本的方法
2015/02/09 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
Php多进程实现代码
2018/05/07 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
浅析Python迭代器的高级用法
2020/07/16 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
如何用Python绘制3D柱形图
2020/09/16 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
公司面试感谢信
2014/02/01 职场文书
元旦晚会邀请函
2014/02/01 职场文书
安全标准化实施方案
2014/02/20 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
德劲DE1102数字调谐收音机机评
2022/04/07 无线电