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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP实现的多进程控制demo示例
Jul 22 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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批量生成随机用户名
2008/07/10 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
php实现telnet功能示例
2014/04/08 PHP
JS 自动安装exe程序
2008/11/30 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
js实现一键复制功能
2017/03/16 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
JS实现百度搜索框
2021/02/25 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
python 性能优化方法小结
2017/03/31 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
Python内置函数及功能简介汇总
2020/10/13 Python
工商技校毕业生自荐信
2013/11/15 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
双语教学实施方案
2014/03/23 职场文书
法制报告会主持词
2014/04/02 职场文书
勤俭节约倡议书
2014/04/14 职场文书
科技工作者先进事迹
2014/08/16 职场文书
2014年质检工作总结
2014/11/26 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
《比的意义》教学反思
2016/02/18 职场文书
编写python程序的90条建议
2021/04/14 Python
go语言中http超时引发的事故解决
2021/06/02 Golang