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


Posted in PHP onMay 29, 2011

返回一个交集共有元素的数组(只是数组值得比较)、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 相关文章推荐
php $_ENV为空的原因分析
Jun 01 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
php获取系统变量方法小结
May 29 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
php连接数据库代码应用分析
May 29 #PHP
PHP文件上传原理简单分析
May 29 #PHP
php修改时间格式的代码
May 29 #PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 #PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 #PHP
php学习之变量的使用
May 29 #PHP
php学习之数据类型之间的转换代码
May 29 #PHP
You might like
php设计模式之观察者模式的应用详解
2013/05/21 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
浅析JavaScript中的delete运算符
2013/11/30 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
详解python中各种文件打开模式
2020/01/19 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
文明生主要事迹
2014/05/25 职场文书
租赁协议书
2015/01/27 职场文书
公司奖励通知
2015/04/21 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers