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中統計字串中每種字元的個數並排序的3種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!