[英]Count unique values in a multi dimensional array
我有一個需要為其創建計數的數據數組。 該陣列通過數據庫連接構建。
Array (
[0]=array(
[cause] => "Bob"
[cause_month] =>'7/2014'
)
[1]=array(
[cause] => "Tim"
[cause_month] =>'7/2014'
)
[2]=array(
[cause] => "Bob"
[cause_month] =>'7/2014'
)
[3]=array(
[cause] => "Bob"
[cause_month] =>'7/2014'
)
[4]=array(
[cause] => "Tim"
[cause_month] =>'8/2014'
)
[5]=array(
[cause] => "Tim"
[cause_month] =>'8/2014'
)
[6]=array(
[cause] => "Sally"
[cause_month] =>'8/2014'
)
)
要輸出如下所示的數組:
Array (
[7/2014] => [Bob]=>3,[Tim]=>1
[8/2014] => [Tim]=>2,[Sally]=>1
)
我已經查看了幾個示例,這些示例按cause_month提供了獨特的原因,但是無法獲得該原因在那個cause_month中相同的次數。
這是我從另一篇文章中摘錄的內容:
$class_array = array();
foreach ($sb_array as $sa) {
$class_array[$sa['cause_month']][] = array('cause' => $sa['cause']);
}
輸出:
[7/2014] => Bob , Tim
[8/2014] => Tim , Sally
這真的很接近,但是我仍然需要每個cause_month的每個原因的計數
這應該為您工作:
還要使用名稱( cause
)作為第二維密鑰,如果不存在,則將其初始化為0。 然后,只需簡單地為每個事件增加計數。
$class_array = array();
foreach ($sb_array as $sa) {
if(!isset($class_array[$sa['cause_month']][$sa["cause"]]))
$class_array[$sa['cause_month']][$sa["cause"]] = 0;
$class_array[$sa['cause_month']][$sa["cause"]]++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.