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 相关文章推荐
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
php并发加锁示例
Oct 17 PHP
Yii核心验证器api详解
Nov 23 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
php中访问修饰符的知识点总结
Jan 27 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
单位速度在实战中的运用
2020/03/04 星际争霸
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
PHP7新增函数
2021/03/09 PHP
快速排序 php与javascript的不同之处
2011/02/22 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python3注册全局热键的实现
2020/03/22 Python
Python运算符+与+=的方法实例
2021/02/18 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
《赶海》教学反思
2014/04/20 职场文书
教师工作失职检讨书
2014/09/18 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
陕西导游词
2015/02/04 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python