我有以下数组:
Array
(
[0] => Array
(
[0] => 2015-07-18
[1] => 22 SSH
)
[1] => Array
(
[0] => 2015-07-18
[1] => 80 HTTP
)
[2] => Array
(
[0] => 2015-07-18
[1] => 3389 Remote Desktop
)
[3] => Array
(
[0] => 2015-07-19
[1] => 3389 Remote Desktop
)
[4] => Array
(
[0] => 2015-07-19
[1] => 3389 Remote Desktop
)
)
,需要按天和出现次数计数的数据,格式如下:
array(4) {
[0]=>
array(1) {
[0]=> "3389 Remote Desktop"
[1]=> "1,2"
}
[1]=>
array(1) {
[0]=> "22 SSH"
[1]=> "1,0"
}
[2]=>
array(1) {
[0]=> "80 HTTP"
[1]=> "1,0"
}
}
我怎样才能做到这一点?我可以计算所有出现的事件,但不能按日期和类型分组,像这样:
$counts = array();
foreach( $stack_stats_timeline as $value) {
foreach( $value as $k => $v) {
if( !isset( $counts[$k])) $counts[$k] = array();
if( !isset( $counts[$k][$v])) $counts[$k][$v] = 0;
$counts[$k][$v] += 1;
}
}
我想这会帮助你使它工作
$result = array();
$count = 1;
foreach ($arr as $key => &$value) {
$hash = $value[1];
$result[$hash][0] = $value[1];
$result[$hash][1][$value[0]] = (isset($result[$hash][1][$value[0]])) ? $count + 1 : $count;
}
print_r(array_values($result));