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 iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP多个版本的分析解释
Jul 21 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
Dec 05 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
Nov 15 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
laravel5使用freetds连接sql server的方法
Dec 07 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 smarty函数扩展
2010/03/15 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Python错误的处理方法
2020/06/23 Python
python的flask框架难学吗
2020/07/31 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
python实现视频压缩功能
2020/12/18 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
法律专业自我鉴定
2013/10/03 职场文书
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
公司请假条范文
2014/04/11 职场文书
红色旅游心得体会
2014/09/03 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
综合测评个人总结
2015/03/03 职场文书
2019 入党申请书范文
2019/07/10 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS