求两个数组的交集问题可以使用 array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中 array_intersect()函数是求两个数的交集,返回一个交集共有元素的数组(只是数组值得比较)、 array_intersect_assoc()函数是将键和值绑定,一起比较交集部分、array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。

但实际应用中也遇到了一些小问题,正如下:

实例:

<?php
$array = array("red"     => "Red","green"        => "red4","Red15"       => "Red",7            => "Level","Width"      => "Red","azzzz1"   => "art","peak"     => 158
);
$array1 = array("red"        => "Red2","greena"  => "red","Red15"        => "Red",7            => "Level","Width"      => "Red","azzzz"        => "art","peak"     => 158
);
$num = array_intersect($array, $array1);
print_r ($num);
echo "<br />";
$num = array_intersect_assoc($array, $array1);
print_r($num);
echo "<br />";
$num = array_intersect_key($array, $array1);
print_r ($num);
?>

运行结果:

Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [azzzz1] => art [peak] => 158 )
Array ( [Red15] => Red [7] => Level [Width] => Red [peak] => 158 )
Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [peak] => 158 )

总结:

1.array_intersect()函数进行的比较只有数组值的比较,而且存在如”Red“和”Red2“比较时会返回"Red",反之则不会返回"Red2";

2.array_intersect_assoc()函数是将数组的值与键值一起比较,而且不会存在array_intersect的情况,适用于较严格的比较;

3.array_intersect_key()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值。

PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数详解相关推荐

  1. PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题

    求两个数组的交集问题可以使用array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中array_intersect()函数是求两 ...

  2. php 去重_php求两数组交集的四种方法详解

    题目:给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5 ...

  3. php 打印对象详细信息,php打印显示数组与对象的函数详解

    php打印显示数组与对象的函数详解 发布于 2014-11-17 18:55:49 | 699 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext P ...

  4. python bytearray转为byte_Python3 bytearray() 函数详解 将参数转为可变的字节数组

    Python3 bytearray() 函数详解 将参数转为可变的字节数组 bytearray()函数的主要用途是将参数转换为一个新的字节数组,它是一个可变的整数序列,它的取值范围是0 <= x ...

  5. python bytes 改值_Python3 bytes() 函数详解 将参数转为不可变的字节数组

    Python3 bytes() 函数详解 将参数转为不可变的字节数组 bytes()函数的主要用途是将参数转换为一个新的字节数组,它是一个不可变的整数序列,它的取值范围是0 <= x < ...

  6. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  7. 【ES6】Generator函数详解

    [ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...

  8. scanf函数详解与缓冲区

    1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...

  9. Softmax函数详解与推导

    原文:https://www.cnblogs.com/zongfa/p/8971213.html Softmax函数详解与推导 一.softmax函数 softmax用于多分类过程中,它将多个神经元的 ...

最新文章

  1. 【电路】KiCad-Pcbnew-建BGA形式的Footprint
  2. RedisDesktopManager客户端可视化工具下载安装与使用
  3. Chrome扩展程序——TabCopy:一键复制网页标题和网址
  4. VTK:几何对象之Line
  5. 【今晚7点】:圆桌PI回归 继续聊聊开源的故事
  6. Jquery技巧:使用ajax技术提交表单数据
  7. RESTFULL 03 rest-framework视图
  8. AHP中特征向量、权重值、CI值等指标如何计算?
  9. 「上海院子」打造不可复制的国宅风华
  10. SQLite忽略大小写
  11. 书名:男人一本书 前言
  12. 漫画|望京和西二旗全解读:最美互联网人
  13. 弘辽科技:拼多多批发单算销量吗?拼多多刚开店怎么有销量
  14. 解决vue-admin-template插件element UI组件默认英文改中文
  15. 漫步者的蓝牙耳机和南卡耳机哪个好?半入耳式耳机对比!
  16. 学习日志13:360安全浏览器远程代码执行漏洞
  17. Linux 用着太爽啦!!!
  18. 打印机显示键入传真服务器位置,打印机在打印时,出现 选择传真调制解调器或服务器,是怎么回事?...
  19. PyTorch深度学习实践概论笔记9-SoftMax分类器
  20. H5页面实现下载文件兼容移动端

热门文章

  1. 设计模式之享元模式学习笔记
  2. hibernate之Configuration对象
  3. Python应用——自定义函数:分割PDF文件函数
  4. group by的查询
  5. Hibernate: Encountered a duplicated sql alias [] during auto-discovery of a native-sql
  6. linux :故障提示:Error:No suitable device found: no device found for connection System eth0
  7. Uva 11292 The Dragon of Loowater 模拟题
  8. C# “不支持给定路径的格式”异常处理
  9. Mysql使用binlog恢复数据解决误操作问题的两种方法
  10. SVN 问题解决之 The XML response contains invalid XML