最近在写一个项目 项目中 涉及到数组差集问题 代码如下

$arr1 = [

[

"cardId" => 1010284722,

"beforeAmounts" => 100,

"afterAmounts" => 20,

"diffAmounts" => -80,

"diffStatus" => 1

],

[

"cardId" => 1010284722,

"beforeAmounts" => 100,

"afterAmounts" => 200,

"diffAmounts" => 100,

"diffStatus" => 0

],

[

"cardId" => 177561410,

"beforeAmounts" => 2000,

"afterAmounts" => 1000,

"diffAmounts" => -1000,

"diffStatus" => 1

],

[

"cardId" => 177561410,

"beforeAmounts" => 2000,

"afterAmounts" => 1000,

"diffAmounts" => -1000,

"diffStatus" => 1

],

[

"cardId" => 1077060068,

"beforeAmounts" => 789,

"afterAmounts" => 100,

"diffAmounts" => -689,

"diffStatus" => 1

],

[

"cardId" => 1077060068,

"beforeAmounts" => 789,

"afterAmounts" => 100,

"diffAmounts" => -689,

"diffStatus" => 1

]

];

$arr2 = [

[

"cardId" => 177561410,

"beforeAmounts" => 2000,

"afterAmounts" => 1000,

"diffAmounts" => -1000,

"diffStatus" => 1

],

[

"cardId" => 1077060068,

"beforeAmounts" => 789,

"afterAmounts" => 100,

"diffAmounts" => -689,

"diffStatus" => 1

]

];

echo 'arr1个数:'.count($arr1).'
';

echo 'arr1集合: ';

var_dump($arr1);

echo '


';

echo 'arr2个数:'.count($arr2).'
';

echo 'arr2集合: ';

var_dump($arr2);

echo '


';

//这是我求差集的方法

foreach($arr1 as $k=>$v) if(in_array($v, $arr2)) unset($arr1[$k]);

echo '差集个数:'.count($arr1).'
';

echo '差集集合:';

var_dump($arr1);

因为有重复的数据 这样求出来之后 差集的个数 + $arr2 的个数 不等于 $arr1 的个数

问 : 怎么样求差集才能

差集的个数 + $arr2 的个数 = $arr1 的个数

而且最后求出的差集 集合也包含那两个重复的数组元素 "cardId" => 177561410 和 "cardId" => 1077060068

php数组获取差集,php数组求差集问题相关推荐

  1. 结构数组-创建结构数组---获取修改结构数组数据-------操作字段

    立即学习:https://edu.csdn.net/course/play/24708/278817?utm_source=blogtoedu ------结构数组的创建 >> stude ...

  2. 利用Underscore求数组的交集、并集和差集

    1 数组交集函数--intersection 数组的交集是指包含多个数组中的共同元素的一个数组,求数组的交集就是找出给定数组中的共有元素. 下面实现一个求两个数组交集的函数. 判断数组是够包含指定值, ...

  3. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度

    1. 创建一个 [3,5] 所有元素为 True 的数组 In [162]: b = np.ones((3,5), dtype=bool)In [163]: b Out[163]: array([[ ...

  4. Java 数组常用操作二(扩充、扩容、重复数据、动态数组、数组差集、数组交集、查找指定元素、判断是否相同、数组合并)

    数组扩容(扩充) public class Main {public static void main(String[] args) {String[] names = new String[] { ...

  5. php 2个数组并集,php中数组的并集、交集和差集函数介绍_PHP教程

    在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersect(),array_diff(). //计算数组 ...

  6. php手册数组函数,PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集...

    PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集 array_diff (PHP 4 >= 4.0.1, PHP 5) array_d ...

  7. python去重语句_Python Dataframe 指定多列去重、求差集的方法

    1)去重 指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重. Attention:主要用到了drop_du ...

  8. 【JAVA 求差集】

    两个list求差集 求差集返回 list字段 /*** 差集(基于API解法) 适用于小数据量* 求List1中有的但是List2中没有的元素* 时间复杂度 O(list1.size() * list ...

  9. 嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序)

    文章目录 0x00. 整数加减乘除 0x01. 一维数组按某种规律求和 0x01.1 求 1~100 之和 0x01.2. 求一维数组的和 0x01.2. 求一维数组的所有奇数的和 0x02. 二维数 ...

最新文章

  1. php作为文本进行处理,PHP处理文本和爬虫技巧
  2. 35-03沉浸式状态栏例子
  3. python如何更新包_python如何更新包 python更新包代码示例
  4. 四十八、微信小程序开发系统组件
  5. Ext FormPanel布局 (一行显示两对控件元素)
  6. Mac iOS 允许从任何来源下载应用并打开
  7. bytecode java_Java 字节码解读
  8. openjdk 使用_如何在OpenJDK中使用ECC
  9. OpenCL memory object 之选择传输path
  10. maven 镜像_Maven(一)
  11. C++socket编程(六):6.3 并发测试工具ab的使用(apache工具)
  12. python发音1001python发音-1001种玩法 | Python 学习指南资源
  13. 关于一些信息学数论问题例题的讨论
  14. 概率论——超几何随机变量
  15. python爬取喜马拉雅vip音频_Python简易爬虫教程(三)--爬取喜马拉雅音频
  16. Ubuntu14.04(LTS)gitHub客户端安装
  17. A4排成A3双面打印怎么操作
  18. installanywhere打包过程(openproj版)
  19. 【51单片机实例教程】智能小车(一)让你的小车跑起来
  20. win10激活方法(无需下载)

热门文章

  1. Windows完成端口(IOCP)
  2. Mybase到期 破解
  3. 双11实时物流订单实践
  4. Let‘s Fluent:更顺滑的MyBatis
  5. 2021年阿里云采购季大促主会场全攻略
  6. 海量结构化数据解决方案-表格存储场景解读
  7. 简单七步,快速入门 JMeter原生压测
  8. 别人家的工程师:阿里巴巴工程师有了新帮手,AI可帮助修Bug
  9. KubeCon 2018 参会记录 —— FluentBit Deep Dive
  10. 顶级技术大咖,揭秘实时音视频开发的超级风口