php多维数组按类型和日期出现的次数
发布时间:2020-12-13 15:57:26 所属栏目: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
我有以下数组:
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)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |