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下常用正则表达式整理
Oct 26 PHP
PHP基础学习小结
Apr 17 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
再推荐十款免费的php开发工具
Nov 09 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
Django 中 cookie的使用
Aug 17 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 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
php设置编码格式的方法
2013/03/05 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python 私有函数的实例详解
2017/09/11 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
如何在python中实现随机选择
2019/11/02 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
华为慧通面试题
2012/09/11 面试题
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
后勤部经理岗位职责
2014/02/23 职场文书
颁奖晚会主持词
2014/03/25 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书