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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php session应用实例 登录验证
Mar 16 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
分享3个php获取日历的函数
Sep 25 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
php用户登录之cookie信息安全分析
May 13 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
php文件系统处理方法小结
May 23 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 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
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
js资料toString 方法
2007/03/13 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
javascript中this指向详解
2016/04/23 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
JavaScript实现百度搜索框效果
2020/03/26 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
工作自我评价分享
2013/12/01 职场文书
员工培训心得体会
2013/12/30 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
师范生自我鉴定
2014/03/20 职场文书
考核评语大全
2014/04/29 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
党小组评议意见
2015/06/02 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书