2012-04-05 7 views
1

大きな配列に値が存在する頻度を数える方法はありますか?私はこのような配列を持っている場合PHP - 配列値の頻度をカウントする

ので:

$array = "1,2,3,4,joe,1,2,3,joe,joe,4,5,1,6,7,8,9,joe"; 

は出力への道、私(と種類)、最も使用され、どのように多くのそれぞれのために告げる新しい配列はありますか?

$result = array(
    [joe] => 4 
    [1] => 3 
    [2] =>2 
    etc... 
    ) 

私はphpのarray_count_valuesを見ましたが、ほとんどの場合、これを並べ替えることができますか?それとも簡単な方法がありますか?

ありがとうございました!

+0

ステップ1でそれらをカウントした後、それはPHPで爆発関数を使用して配列します。 –

答えて

6

ソートそれらはarsort()

$result = array_count_values(explode(',', $array)); 
arsort($result); 

Array 
(
    [joe] => 4 
    [1] => 3 
    [2] => 2 
    [4] => 2 
    [3] => 2 
    [9] => 1 
    [8] => 1 
    [5] => 1 
    [6] => 1 
    [7] => 1 
) 
+0

を使用し、降順で並べ替えるには、通常の並べ替えの代わりにrsort関数を使用します。 –

+0

@NullUserExceptionはい、私はkrsortとarsortを常にミックスしています。 –

+0

ご協力ありがとうございます!私のコードはずっと長くなりました。それは有り難いです! –

関連する問題