$str="c b c c a b d c c f";
$good=explode(" ",$str);现在我想得到一个新的数组 $good2按照出现的次数排序比如 c出现的次数最高 就c在第一个位置
然后b
然后。。

解决方案 »

  1.   


    $str="c b c c a b d c c f";
    $good=explode(" ",$str);
    $b=array_count_values($good);
    print_r($b);
    echo '<br>';
    foreach($b as $key=>$val)
    {
    $good2[] = $key;
    }print_r($good2);
      

  2.   


    $str="b c c a b d c c f c";
    $arr = explode(' ', $str);
    $rs = array();
    foreach($arr as $r) {
        $rs[$r] += 1;
    }
    arsort($rs);
    print_r($rs);
    /**
    输出结果:
    Array ( [c] => 5 [b] => 2 [f] => 1 [a] => 1 [d] => 1 ) 
    */
      

  3.   


    //参考一楼的 array_count_values 函数
    $str="b c c a b d c c f c";
    $arr = explode(' ', $str);
    $arr = array_count_values($arr);
    arsort($arr);
    print_r($arr);
    //一样能实现,没想到这个函数,呵呵。