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
桌面中心(二)数据库写入
Oct 09 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
解决php表单重复提交实现方法
Sep 29 PHP
PHP邮件群发机实现代码
Feb 16 PHP
学习PHP session的传递方式
Jun 15 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
PHP 身份证号验证函数
2009/05/07 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
python操作xml文件详细介绍
2014/06/09 Python
Python显示进度条的方法
2014/09/20 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
蹦床仓库:Trampoline Warehouse
2018/12/06 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
班级口号大全
2014/06/09 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
小学中队委竞选稿
2015/11/20 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript