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); }
  • 相关阅读:
    react 起手式
    获取元素CSS值之getComputedStyle方法熟悉
    js设计模式
    es6笔记5^_^set、map、iterator
    Flux --> Redux --> Redux React 入门 基础实例使用
    http协议与内容压缩
    C程序中唯一序列号的生成
    动态设置布局LayoutInflater
    构造Scala开发环境并创建ApiDemos演示样例项目
    BZOJ 2525 Poi2011 Dynamite 二分答案+树形贪心
  • 原文地址:https://www.cnblogs.com/pansidong/p/10132483.html
Copyright © 2011-2022 走看看