extract_by_one 根据二维数组中某字段来提取数组信息,查看有无重复信息

复制代码
    public function tt(){

        $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-CC',
                '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-CC',
                '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-DD',
                'tcdk_fid'      => '458B6D70-FB7F-47AE-8356-777777777777',
                'totalamount'   => '0',           // 需要支付的钱
                'offsetamount'  => '5.0',        // 抵扣分类1下5.0份;
                'postamount'    => '0',            // 运费
                'hysyamout'     => '5.0',
                'protypeid'     => '3',
            )
        );

        //$this->merger_by_one($param,'protypeid',['totalamount','offsetamount','postamount','hysyamout']);

        $this->extract_by_one($param,'hykno');
    }

    /***
     * @param $param
     * @param $one_str '根据二维数组中某字段来提取数组信息,查看有无重复信息'
     */
    public function extract_by_one($param,$one_str){
        $u = array();
        foreach ($param as $k => $v){
            if (!in_array($v[$one_str],$u)){
                $u[] = $v[$one_str];
            }
        }

        $data = array();
        foreach ($u as $uk => $uv)
        {
            foreach ($param as $pk => $pv)
            {
                if ($pv[$one_str] == $uv){
                    $data[$uv][] = $pv;
                }
            }
        }

        //$data = array_values($data);

        dump($data);

    }

[2222222-CB] => Array
(
[0] => Array
(
  [hykno] => 2222222-CB
  [tcdk_fid] => 458B6D70-FB7F-47AE-8356-777777777777
  [totalamount] => 0
  [offsetamount] => 90.0
  [postamount] => 0
  [hysyamout] => 10.0
  [protypeid] => 1
)


[1] => Array
(
  [hykno] => 2222222-CB
  [tcdk_fid] => 458B6D70-FB7F-47AE-8356-777777777777
  [totalamount] => 0
  [offsetamount] => 5.0
  [postamount] => 0
  [hysyamout] => 5.0
  [protypeid] => 1
)


)


[2222222-CC] => Array
(
[0] => Array
(
  [hykno] => 2222222-CC
  [tcdk_fid] => 458B6D70-FB7F-47AE-8356-777777777777
  [totalamount] => 0
  [offsetamount] => 5.0
  [postamount] => 0
  [hysyamout] => 5.0
  [protypeid] => 7
)


[1] => Array
(
  [hykno] => 2222222-CC
  [tcdk_fid] => 458B6D70-FB7F-47AE-8356-777777777777
  [totalamount] => 0
  [offsetamount] => 5.0
  [postamount] => 0
  [hysyamout] => 5.0
  [protypeid] => 7
)


)


[2222222-DD] => Array
(
[0] => Array
(
  [hykno] => 2222222-DD
  [tcdk_fid] => 458B6D70-FB7F-47AE-8356-777777777777
  [totalamount] => 0
  [offsetamount] => 5.0
  [postamount] => 0
  [hysyamout] => 5.0
  [protypeid] => 3
)


)



复制代码

 

posted @   盘思动  阅读(288)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2017-12-19 指定clone的用户名 和 密码,针对缓存内置用户名解决
点击右上角即可分享
微信分享提示