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 相关文章推荐
2.PHP入门
Oct 09 PHP
Php Cookie的一个使用注意点
Nov 08 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP中PDO事务处理操作示例
May 02 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 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
JAVA/JSP学习系列之六
2006/10/09 PHP
PHP 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
Vue实现简单计算器案例
2020/02/25 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
vue实现放大镜效果
2020/09/17 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
python中反射用法实例
2015/03/27 Python
Python之str操作方法(详解)
2017/06/19 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
python 绘制场景热力图的示例
2020/09/23 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
思想政治教育专业个人求职信范文
2013/12/20 职场文书
集团薪酬管理制度
2014/01/13 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis