1.方法一,丛亚杰拿学来的hashtable方法
<?php
$str="sjdfnmy09j9re9huhdsfds99$$$543298sdjfdsj,###";
$arr = str_split($str);
for ($i = 0;$i < count($arr);$i ++){
$index = $arr[$i];
@$hashtable[$index] ++;
}
arsort($hashtable);
var_dump($hashtable);
2.方法二,原来我可能会这么写
<?php
$str="sjdfnmy09j9re9huhdsfds99$$$543298sdjfdsj,###";
$arr = str_split($str);
foreach($arr as $key => $val) {
if(!@$count[$val]){
$count[$val] = 1;
}
else{
$count[$val] ++;
}
}
arsort($count);
var_dump($count);
3.最后,php其实已经封装好了 array_count_values 函数— 统计数组中所有的值出现的次数,so。。。只需要这样就可以了:
<?php
$str="sjdfnmy09j9re9huhdsfds99$$$543298sdjfdsj,###";
$arr = str_split($str);
$arr = array_count_values($arr);
arsort($arr);
var_dump($arr);
结果: