2013-02-28 22 views
1

好吧,這個小問題讓我瘋狂。在一個數組中計數值

這是$ strap_materials的print_r的輸出:

Array(
    [0] => steel 
    [1] => leather 
    [2] => polyester 
    [3] => leather 
    [4] => steel 
) 

我要統計每個值有多少次存在,並把每個總和陣列中的一個陣列內,就像這樣:

Array(
    [0] => Array(
     "name" => steel 
     "count" => 2 
    ) 
    [1] => Array(
     "name" => leather 
     "count" => 2 
    ) 
    [0] => Array(
     "name" => polyester 
     "count" => 1 
    ) 
) 

我的目的是使用新創建的數組是這樣的:

foreach($straps as $strap) { 
    echo "Name: " . $strap->name; 
    echo "Count: " . $strap->count; 
} 

我哪有那麼?

+0

它在Ruby中非常容易。 – beck03076 2013-02-28 21:02:50

+0

RTLM:http://www.php.net/manual/en/function.array-count-values.php – 2013-02-28 21:03:16

+1

@ beck03076我們正在談論的不是Ruby的PHP! – idmean 2013-02-28 21:06:17

回答

4

您可以使用array_count_values()

$counts = array_count_values($strap_materials); 

foreach ($counts as $name => $count) { 
    ... 
}