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

 更新时间:2012年08月27日 15:28:50   作者:  
3种方法,统计字符串中每种字符的个数并排序,多种解法哟~ str_split()函数很重要
复制代码 代码如下:

<?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上传文件时文件过大$_FILES为空的解决方法

    PHP上传文件时文件过大$_FILES为空的解决方法

    发现一张gif图片上传失败 size为0,实际大小为4.66M,下面为大家介绍下PHP上传文件时文件过大的解决方法
    2013-11-11
  • PHP实现的折半查找算法示例

    PHP实现的折半查找算法示例

    这篇文章主要介绍了PHP实现的折半查找算法,简单描述了折半查找的原理,并结合实例形式分析了php采用递归与非递归方式实现折半查找算法的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • php中截取中文字符串的代码小结

    php中截取中文字符串的代码小结

    众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取php中文字符串的方法。
    2011-07-07
  • PHP+Mysql+jQuery实现动态展示信息

    PHP+Mysql+jQuery实现动态展示信息

    在本文中,我将介绍如何在页面上实现动态展示用户发表的信息,将用户发表的信息逐条播放展示。该效果可以在展示系统动态、商品评论等场景应用
    2011-10-10
  • phpstudy无法启动MySQL服务的解决方法

    phpstudy无法启动MySQL服务的解决方法

    个人比较懒,所以想到用phpstudy这个软件进行控制,但这个时候问题出现了:在下载phpstudy后想要启动MySQL服务,但是总是无法启动,所以本文给大家介绍了如何解决phpstudy无法启动MySQL服务的问题,需要的朋友可以参考下
    2024-06-06
  • Zend 输出产生XML解析错误

    Zend 输出产生XML解析错误

    刚开始 Ajax 调用 PHP 用 DOM 动态产生的XML文件时没有任何错误。转到 Zend FrameWork 下时,在 IE 下显示也完全正常并且 Ajax 解析正常,但是在 Firefox 和 Safari 下便出现如下错误
    2009-03-03
  • PHP观察者模式实例分析【对比JS观察者模式】

    PHP观察者模式实例分析【对比JS观察者模式】

    这篇文章主要介绍了PHP观察者模式,结合实例形式对比分析JS观察者模式实现方法,给出了php观察者模式的完整定义与使用操作示例,需要的朋友可以参考下
    2019-05-05
  • 解析php取整的几种方式

    解析php取整的几种方式

    本篇文章是对php取整的几种方式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP 命名空间实例说明

    PHP 命名空间实例说明

    PHP 命名空间实例说明,需要的朋友可以参考下。
    2011-01-01
  • php 将excel导入mysql

    php 将excel导入mysql

    最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中。在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。
    2009-11-11

最新评论