du67560 2015-07-26 10:26 采纳率: 0%
浏览 27
已采纳

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

I have the following array:

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

and need the data counted by day and number of occurrences in the following format:

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"
  }
}

How can I achieve this? I am able to count all occurences but not grouped by date and type like this:

$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;
    }
}      
  • 写回答

1条回答 默认 最新

  • douji9518 2015-07-27 10:19
    关注

    I think this'll help you to get it work

    $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));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?