龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-22 15:56来源:网络整理 作者:网络 点击:
分享到:
3种方法,统计字符串中每种字符的个数并排序 多种解法哟~ str_split()函数很重要[代码片段(51行)]

多种解法哟~ 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函数,所以说,这个函数很重要哦~
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接