2019独角兽企业重金招聘Python工程师标准>>>

一、举例说明

  例如有两个数组A和B(当然这个A和B也可以是key=>value形式)

  A = array('tt','cc','dd','mm')

  B = array('ad','tt','cc','qq')

  希望得到的结果是:

  sameArr = array('tt','cc')

  A = array('dd','mm')

  B = array('ad','qq')

二、解决方案

2.1、方法一:for循环取出数据

  1、for循环一个A数组;

  2、使用array_search判断元素是否存在B数组中;

  3、存在后unset A和B中的该元素;

  4、将该相同元素添加到sameArr数组中

  具体代码:

  

 

< php $A = array('tt','cc','dd','mm');$B = array('ad','tt','cc','qq');$sameArr = array();for($i=0; $i<count($A); $i++){$pos = array_search($A[$i], $B);if($pos>0){$sameArr[] = $A[$i];unset($A[$i]);unset($B[$pos]);}      }var_dump($sameArr, $A, $B);

 key value数组形式和此类似,只需要将for循环替换为foreach循环即可,下面看一下运行结果: 

  返回结果是我们预期的结果。

2.2、方案二:利用PHP内置函数array_diff和array_intersect

  同样也可以使用array_diff分割,获取在A中而不在B中的元素或者在B中而不在A中的元素,但是无法获取相同元素,要获取相同元素的话,需要使用。array_intersect函数来获取,方法如下:

< php  $sameArr = array_intersect($A, $B);$diffA = array_diff($A, $B);$diffB = array_diff($B, $A);var_dump($sameArr, $diffA, $diffB);

  返回结果是: 

 也是正确的,预期结果。

转载于:https://my.oschina.net/meng527/blog/539191

PHP瓜分两个数组的相同元素和不同元素的两种方法相关推荐

  1. Java黑皮书课后题第7章:7.26(完全相同的数组)如果两个数组list1和list2的对应元素都相等,认为完全相同。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否完全相同

    7.26(完全相同的数组)如果两个数组list1和list2的对应元素都相等,认为完全相同.编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否完全相同 题目 题目描述与运行示例 破题 ...

  2. 【C语言】比较两个数组中是否有相同的元素

    我们都知道,要判断两个数组中是否有相同的元素,只需要两层for循环,但是在for循环的内部,我们要注意什么时候跳出循环,这个是非常重要的,不能一直输出有,但是也不能既输出有,又输出没有! 下面是第一种 ...

  3. C语言——判断两个数组中是否有相同的元素

    题目:判断两个数组中是否有相同的元素,有就输出"有",没有就输出"没有". 解法一:用第一个数组中的所有元素与第二个数组中的所有元素相比较,若有相同元素,则停止 ...

  4. js计算数组中每个元素出现的次数(2种方法)

    js计算数组中每个元素出现的次数(2种方法) js动态生成唯一id Javascript生成全局唯一标识符(GUID,UUID)的方法

  5. python列表统计每个元素出现次数_python 统计list中各个元素出现的次数的几种方法...

    利用字典dict来完成统计 举例: a = [1, 2, 3, 1, 1, 2] dict = {} for key in a: dict[key] = dict.get(key, 0) + 1 pr ...

  6. python 获取行列号两个数组相等_python – 寻找在numpy中找到两个相等长度数组之间精确重叠的最快方法...

    我正在寻找最佳(最快)的方法来找到numpy中两个数组之间的确切重叠.给定两个数组x和y x = array([1,0,3,0,5,0,7,4],dtype=int) y = array([1,4,0 ...

  7. 如何快速找出找出两个数组中的_找出JavaScript中两个数组之间的差异

    LeetCode今天面临的挑战是在数组中查找所有消失的数字. 蛮力 我们的输入包括一个缺少数字的实际数组.我们想将该数组与相同长度的数组进行比较,其中没有遗漏的数字.所以如果给定的话[4,3,2,7, ...

  8. android 去重 比较两个list_android 去重 比较两个list_Android 去除list集合中重复项的几种方法...

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...

  9. android 去重 比较两个list_Android 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...

  10. 求无序数组的第K(大/小)数的三种方法

    题目描述:给定一个无序数组(长度为n)和一个正整数 K,让你求此数组中第K大的数 方法1:最简单的思路,你肯定会想到 先把数组排序,然后再取下标为K的对应数组元素.这种方法肯定是可行的,但是这种方法无 ...

最新文章

  1. pyBoard Mini从安装到简单测试
  2. WinForm组件开发:构造ImageButton控件
  3. python常用标准库有哪些-Python 常用的标准库以及第三方库有哪些?
  4. 【ruoyi若依】layer 重置大小/resize
  5. 部署环境_Jenkins环境搭建和部署项目的过程
  6. 我的2020年度总结
  7. linux服务器安装Mysql。看了几个教程,没装上,看这个一下就装上了。
  8. mysql的建库建表语句_SQL语句(建库、建表、修改语句)
  9. 【Vue.js 知识量化】ES6 语法积累
  10. 3.2. tensorflow2实现Wileoxon秩和检验法(下) ——python实战
  11. 安装包 — 夜神模拟器下载地址
  12. SDH 同步数字系列
  13. Tomcat 下面使用软连接指向真实的上传文件夹
  14. Linux自学之旅-安装篇(挂载)
  15. Maven实战 Item4 -- Maven核心概念
  16. php公众号提现功能,公众号赞赏提现
  17. 向excel里面插入网络图片
  18. 根据class属性获取元素
  19. boostraptable 表格数据未刷新
  20. css动画让文字一行一行逐渐显示

热门文章

  1. WireShark下载:官网、源码
  2. uos/deepin设置屏幕缩放比例的命令
  3. cmake Can‘t find third_party/gtest
  4. LINUX SHELL中,变量如何加值
  5. Linux使用cups进行打印
  6. 考试一个程序员,1f=0.1
  7. 解决办法:GLib-ERROR **: Creating pipes for GWakeup: Too many open files
  8. 放鞭炮时,应该戴护目镜
  9. php 中文字符串长度_php中计算中文字符串长度、截取中文字符串的函数代码
  10. VS C# string 字符查找 寻找指定字符