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输入流php://input介绍
Sep 18 PHP
php数组编码转换示例详解
Mar 11 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
laravel实现批量更新多条记录的方法示例
Oct 22 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP 图片处理
Sep 16 PHP
PHP高并发和大流量解决方案整理
Mar 09 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 星际争霸
一个域名查询的程序
2006/10/09 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
php强制下载文件函数
2016/08/24 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python opencv实现证件照换底功能
2019/08/19 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
动物科学专业毕业生的自我评价
2013/11/29 职场文书
无故旷工检讨书
2014/01/26 职场文书
出生医学证明书
2014/09/15 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript