PHP多维数组按类型和日期分组出现的次数



我有以下数组:

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));

相关内容

  • 没有找到相关文章

最新更新