zoukankan      html  css  js  c++  java
  • 处理二维数组, 按照某个字段合并重复的,其余字段中部分字段保留,部分相加

      //处理二维数组, 按照某个字段合并重复的,其余字段中部分字段保留,部分相加
    public function deal_erwei_arr(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777', 'totalamount' => '0', 'offsetamount' => '90.0', 'postamount' => '0', 'hysyamout' => '10.0', 'protypeid' => '1', ), array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777', 'totalamount' => '0', // 需要支付的钱 'offsetamount' => '5.0', // 抵扣分类1下5.0份; 'postamount' => '0', // 运费 'hysyamout' => '5.0', 'protypeid' => '1', ), array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777', 'totalamount' => '0', // 需要支付的钱 'offsetamount' => '5.0', // 抵扣分类1下5.0份; 'postamount' => '0', // 运费 'hysyamout' => '5.0', 'protypeid' => '7', ), array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777', 'totalamount' => '0', // 需要支付的钱 'offsetamount' => '5.0', // 抵扣分类1下5.0份; 'postamount' => '0', // 运费 'hysyamout' => '5.0', 'protypeid' => '3', ) ); $u = array(); foreach ($param as $k => $v){ if (!in_array($v['protypeid'],$u)){ $u[] = $v['protypeid']; } } $data = array(); foreach ($u as $uk => $uv) { foreach ($param as $pk => $pv) { if ($pv['protypeid'] == $uv) { $data[$uv]['hykno'] = $pv['hykno']; $data[$uv]['totalamount'] += $pv['totalamount']; $data[$uv]['offsetamount'] += $pv['offsetamount']; $data[$uv]['postamount'] += $pv['postamount']; $data[$uv]['hysyamout'] += $pv['hysyamout']; $data[$uv]['protypeid'] = $pv['protypeid']; } } } $data = array_values($data); dump($data); }
  • 相关阅读:
    实验五
    实验一
    实验四
    实验三
    实验8 SQLite数据库操作
    实验7 BindService模拟通信
    实验6 在应用程序中播放音频和视频
    实验5 数独游戏界面设计
    实验4 颜色、字符串资源的使用
    实验五 存储管理实验
  • 原文地址:https://www.cnblogs.com/pansidong/p/10132483.html
Copyright © 2011-2022 走看看