extract_by_one 根据二维数组中某字段来提取数组信息,查看有无重复信息
public function tt(){
$param = array(
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '',
'offsetamount' => '90.0',
'postamount' => '',
'hysyamout' => '10.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CB',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CC',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-CC',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
),
array (
'hykno' => '2222222-DD',
'tcdk_fid' => '458B6D70-FB7F-47AE-8356-777777777777',
'totalamount' => '', // 需要支付的钱
'offsetamount' => '5.0', // 抵扣分类1下5.0份;
'postamount' => '', // 运费
'hysyamout' => '5.0',
'protypeid' => '',
)
);
//$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
)
)
extract_by_one 根据二维数组中某字段来提取数组信息,查看有无重复信息的更多相关文章
- Structure From Motion(二维运动图像中的三维重建)
SfM(Structure from Motion)简介 Structure from motion (SfM) is a photogrammetric range imaging techniqu ...
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)
原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1) 提要:很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一 ...
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)
原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1) http://blog.csdn.net/johnsu ...
- Python算法之动态规划(Dynamic Programming)解析:二维矩阵中的醉汉(魔改版leetcode出界的路径数)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_168 现在很多互联网企业学聪明了,知道应聘者有目的性的刷Leetcode原题,用来应付算法题面试,所以开始对这些题进行" ...
- MongoDB 学习笔记之 从数组中删除元素和指定数组位置
从数组中删除元素: 从数组中删除单个元素: db.ArrayTest.updateOne({ "name" : "Bill"},{$pop: {"ad ...
- Javascript 获得数组中相同或不同的数组元素
Javascript 获得数组中相同或不同的数组元素 在Javascript中,偶尔会用到获取数组中相同或不同的元素值的情况,以下提供了获得数组中相同或不同的 元素函数供参考学习使用. // 数字类型 ...
- PHP中根据二维数组中某个字段实现排序
想要实现二维数组中根据某个字段排序,一般可以通过数组循环对比的方式实现.这里介绍一种更简单的方法,直接通过PHP函数实现.array_multisort() :可以用来一次对多个数组进行排序,或者根据 ...
- PHP使用array_filter查找二维数组中符合字段和字段值的数据集合
1.方法: /** * 获取符合字段和字段值的数组集合 * @param array $data 待过滤数组 * @param string $field 要查找的字段 * @param $value ...
- ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法
"索引超出了数组界限"也有可能确实是因为你选择的二维码Version对应的容量不足以存储你所放的内容,如果你确定使用的版本容量二维码能存储你的内容,但还是报错,那么再考虑此解决方法 ...
随机推荐
- JAVA分代收集机制详解
Java堆中是JVM管理的最大一块内存空间.主要存放对象实例. 在JAVA中堆被分为两块区域:新生代(young).老年代(old). 堆大小=新生代+老年代:(新生代占堆空间的1/3.老年代占堆空间 ...
- React Native (0.57)开发环境搭建(注意:Node不要随便更新到最新版,更新完后莫名其妙的问题一大堆)
搭建开发环境 一.安装依赖 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 1.首先安装 Homebrew 2.安装 Node, Watchm ...
- centos下配置gitosis服务器
背景: 一台windows电脑,Xshell可以登录centos服务器(centos7.2 64位,有root用户权限),windows电脑已经安装好git和tortoies 在windows下下载和 ...
- Linux基础入门--04
目录结构及文件基本操作 实验介绍: 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之 ...
- GITHUB随笔 15-5月 junit
junit 是用来做单元测试的一个工具 测试是一个持续的过程.也就是说测试贯穿与开发的整个过程中,单元测试尤其适合于迭代增量式的开发过程. @ignore: 该元数据标记的测试方法在测试中会被忽 ...
- Unity3D游戏开发——物品存储:List与Dictionary
本篇简介 本文介绍如何将碰撞处理后的物体存储在管理器中,分别用到两种不同的数据结构--List和Dictionary.我们将继续在上一篇博客的编程基础上进行完善. List和Dictionary的区别 ...
- 由一个滑动条的任务需求产生一个对UISlider控件的探讨
任务需求样式:
- 定时任务中的备份不同的数据库中的所有的表,每个表使用单独的sql备份文件
#! /bin/bash # 指定用户 USER=root # 指定密码 PASS=123456 # 指定主机地址 HOST=localhost # 指定备份的目录 BACKUP=/backup/sq ...
- 基于MongoDB2.6版本配置MongoDB主从复制集群架构
1:集群环境说明:mongodb1:192.168.43.10.mongodb2:192.168.43.11.mongodb3:192.168.43.12.且基于主机名相互通信/etc/hosts文件 ...
- Java:JUnit4使用详解
对于Junit的总是一知半解不太懂,现在认真梳理一下: 此次针对的是Junit4版本,注解也是在Junit4版本才有的,之前的版本并无注解功能.而注解开发基本上被认为是一种优秀的设计,所以我们写单元测 ...