php 根据某数组key计算和
来源:互联网 发布:2016nba西决数据统计 编辑:程序博客网 时间:2024/06/07 12:30
数据类型:
{"game_id":"111","type":2,"num":504},{"game_id":"111","type":6,"num":8154},{"game_id":"111","type":41,"num":3426},{"game_id":"111","type":42,"num":45},{"game_id":"111","type":43,"num":1873}
需求:
把type=41 42 42的num相加 type 1 10相加
结果:
{"game_id":"111","type":2,"num":504},{"game_id":"111","type":6,"num":8154},{"game_id":"111","type":41,"num":5344}
code:
$str = '{"retCode":"0","retMsg":"成功","data":[{"game_id":"111","type":2,"num":504},{"game_id":"111","type":6,"num":8154},{"game_id":"111","type":41,"num":3426},{"game_id":"111","type":42,"num":45},{"game_id":"111","type":43,"num":1873},{"game_id":"119","type":1,"num":38},{"game_id":"119","type":2,"num":381},{"game_id":"119","type":6,"num":189},{"game_id":"119","type":10,"num":21},{"game_id":"120","type":2,"num":31},{"game_id":"120","type":6,"num":291},{"game_id":"120","type":41,"num":90},{"game_id":"120","type":43,"num":49},{"game_id":"127","type":1,"num":9},{"game_id":"127","type":2,"num":111},{"game_id":"127","type":6,"num":60},{"game_id":"129","type":1,"num":11},{"game_id":"129","type":2,"num":11},{"game_id":"129","type":6,"num":48},{"game_id":"129","type":10,"num":2},{"game_id":"130","type":6,"num":1},{"game_id":"137","type":2,"num":1},{"game_id":"139","type":2,"num":1387},{"game_id":"139","type":6,"num":3858},{"game_id":"139","type":10,"num":2358},{"game_id":"142","type":2,"num":32},{"game_id":"142","type":6,"num":948},{"game_id":"142","type":41,"num":330},{"game_id":"142","type":42,"num":3},{"game_id":"142","type":43,"num":47},{"game_id":"156","type":2,"num":11436},{"game_id":"156","type":6,"num":38135},{"game_id":"156","type":10,"num":22170},{"game_id":"165","type":6,"num":6},{"game_id":"165","type":41,"num":3},{"game_id":"165","type":43,"num":1},{"game_id":"50","type":2,"num":3},{"game_id":"8f093ab4ad19a509208a8104605c6e42","type":2,"num":281},{"game_id":"92","type":1,"num":26},{"game_id":"92","type":2,"num":186},{"game_id":"92","type":6,"num":153},{"game_id":"94","type":1,"num":538},{"game_id":"94","type":2,"num":3357},{"game_id":"94","type":6,"num":2847},{"game_id":"94","type":10,"num":74}]}';
$aaa = json_decode($str, true);$data = $aaa['data'];$new_array = array();$array1 = array(41,42,43);$array2 = array(1,10);foreach($data as $v){if(in_array($v['type'], $array2)){if(isset($new_array[$v['game_id']][$array2[0]]['num'])){$new_array[$v['game_id']][$array2[0]]['num'] += $v['num'];} else {$new_array[$v['game_id']][$array2[0]]['num'] = $v['num'];}}elseif (in_array($v['type'], $array1)) {if(isset($new_array[$v['game_id']][$array1[0]]['num'])){ $new_array[$v['game_id']][$array1[0]]['num'] += $v['num'];} else { $new_array[$v['game_id']][$array1[0]]['num'] = $v['num'];}}else{ if(isset($new_array[$v['game_id']][$v['type']]['num'])){$new_array[$v['game_id']][$v['type']]['num'] += $v['num'];} else {$new_array[$v['game_id']][$v['type']]['num'] = $v['num'];}}}foreach($new_array as $k1 => $v1) {foreach($v1 as $k2 => $v2) {$new[$k1][] = array('game_id' => $k1,'type' => $k2,'num' => $v2['num']);}}
- php 根据某数组key计算和
- PHP数组根据值获取Key
- PHP数组-----根据key删除key对应的元素
- php根据key值去重
- php根据经纬度计算距离和方向
- PHP开发小技巧②—实现二维数组根据key进行排序
- PHP的数组中如何根据某一个value值获取其key值
- php数组根据某值排序(array_multisort)
- 根据两点经纬度计算距离 附C#和PHP代码
- 根据两点经纬度计算距离 附C#和PHP代码
- 根据两点经纬度计算距离 附C#和PHP代码
- [JS]: 数组排序,根据key删除record
- php根据坐标计算距离
- PHP根据二维数组的某键值合并二维数组
- php array_unshift()修改数组key
- php函数 ---数组函数key()
- php根据开始日期和结束日期得到时间数组
- php去掉二维数组中某key的值
- 获取form表单所有输入内容
- Jetty简介
- Pow(x, n)
- Android中ListView实现多级分组显示的高效实现
- 交叉编译器制作
- php 根据某数组key计算和
- sobel算子原理与实现
- 如何使用Spark ALS实现协同过滤
- 1028. 人口普查(20)
- 团体程序设计天梯赛L3-008——喊山(bfs)
- Android 如何让EditText不自动获取焦点
- 也说自媒体
- 阿里云云服务器硬盘分区及挂载
- hdu4003 树形dp+分组背包