博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
合并二维数组,并计算重复字段的平均值
阅读量:5256 次
发布时间:2019-06-14

本文共 1467 字,大约阅读时间需要 4 分钟。

1 
'小麦', 'm1'=> 12.00 ,'m2'=> 33,'qq'=> 33 ) , 4 Array ( 'rname' => '小麦', 'm1' => 23.00,'m2'=> 44,'qq'=> 11 ) , 5 Array ( 'rname' => 'ccc', 'm1' => 11,'m2'=> 22,'qq'=> 12 ) 6 ); 7 8 //计算出重复字段出现的次数 9 $b=array();10 foreach($arrs as $v){11 $b[]=$v['rname'];12 }13 $c=array_unique($b);14 foreach($c as $v){15 $n=0;16 foreach($arrs as $t){17 if($v==$t['rname'])18 $n++;19 }20 $d[]['nn']=$n;21 22 }23 24 //合并数组中重复的值,并进行加计算25 $tmpval=array();26 $data=array();27 $i=0;28 //遍历原数据29 foreach($arrs as $key=>$arr){30 31 if(!empty($tmpval) && array_key_exists($arr['rname'],$tmpval)){32 //存在33 $key=$tmpval[$arr['rname']];34 35 $data[$key]['m1']+=$arr['m1'];36 37 $data[$key]['m2']+=$arr['m2']; 38 }else{39 //不存在40 $tmpval[$arr['rname']]=$i;41 $data[$i++]=$arr;42 }43 }44 45 //把2个二维数组合并成一个二维数组46 $zuizhong = array();47 foreach($data as $k=>$r){48 $zuizhong[] = array_merge($r,$d[$k]);49 }50 51 //计算出平均值52 $datas = array();53 foreach($zuizhong as $key=>$arr){ 54 $datas[$key]['rname'] = $arr['rname'];55 $datas[$key]['m1'] = $arr['m1']/$arr['nn']; 56 $datas[$key]['m2'] = $arr['m2']/$arr['nn'];57 } 58 59 echo "
";60 print_r($d);61 print_r($data); 62 print_r($zuizhong); 63 print_r($datas);

http://www.cnblogs.com/losesea/archive/2013/06/14/3134900.html

转载于:https://www.cnblogs.com/liruning/p/6112882.html

你可能感兴趣的文章
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
poj 1331 Multiply
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
P1107 最大整数
查看>>
多进程与多线程的区别
查看>>