Couting数组中每个值的出现次数

Ale*_*lex 0 php arrays

我正在尝试对数组进行排序和拼接,但我发现它非常令人困惑.

我从mysql表中提取了数据:

$total = mysql_query("SELECT * FROM orders");
Run Code Online (Sandbox Code Playgroud)

然后我将每列排序成一个数组:

while($result = mysql_fetch_assoc($total))
{
 $cst[] = $result['customer'];
 $partnumber[] = $result['partnumber'];
 $misc[] = $result['misc'];
}
Run Code Online (Sandbox Code Playgroud)

现在,misc有许多以随机顺序重复的条目,例如

$misc = array(
              [0] => red, 
              [1] = >red, 
              [2] => blue, 
              [3] => blue, 
              [4] => blue,
              [5] => green,
              [6] =>red
              )
Run Code Online (Sandbox Code Playgroud)

问题:计算$ misc中每个红色,蓝色或绿色元素的数量的最佳方法是什么?我怎么能创建一个这样的数组$misc_num['red'] = 3等?