这5个获取交集的函数 有 5个对应的获取差集的函数。我是链接


array_intersect($arr1, $arr2);

//获得数组同键值的交集


array_intersect_key($arr1, $arr2);

//获得数组同键名的交集


array_intersect_assoc(同上);

//获得数组同键名键值的交集


array_intersect_uassoc(同上,'自定义回调函数');

//用自定义的回调函数来获得数组同键名键值的交集


array_intersect_ukey(同上, 自定义回调函数);

//用自定义的回调函数来获得数据同键名的交集


 $arr1 = array('r' => 'red','u' => 'blue', 'g' => 'green', 'b' => 'black');
$arr2 = array('r' => 'red', 'b' => 'blue');
/***********array_intersect(计算数组同键值的交集)*****************/
$arrIntersect = array_intersect($arr1, $arr2);
var_dump($arrIntersect);//=>array(2) { ["r"]=> string(3) "red" ["u"]=> string(4) "blue" } /***********array_intersect_key(计算数组同键名的交集)*****************/
$arrIntersectKey = array_intersect_key($arr1, $arr2);
var_dump($arrIntersectKey);//=>array(2) { ["r"]=> string(3) "red" ["b"]=> string(5) "black" } /***********array_intersect_assoc(计算数组同键名同键值的交集)*****************/
$arrIntersectAssoc = array_intersect_assoc($arr1, $arr2);
var_dump($arrIntersectAssoc);//=>array(1) { ["r"]=> string(3) "red" } /***********array_intersect_uassoc(用自定义的回调函数来计算数组同键名同键值的交集)*****************/
$arrIntersectUassoc = array_intersect_uassoc($arr1, $arr2, 'arr_intersect_uassoc_func');
var_dump($arrIntersectUassoc);//=>array(1) { ["r"]=> string(3) "red" } function arr_intersect_uassoc_func($a, $b) {
if ($a === $b)
return 0;
elseif ($a > $b)
return 1;
else
return -1;
} /***********array_intersect_ukey(用自定义的回调函数来计算数组同键名的交集)*****************/
$arrIntersectUkey = array_intersect_ukey($arr1, $arr2, 'arr_intersect_ukey_func');
var_dump($arrIntersectUkey);//=>array(2) { ["r"]=> string(3) "red" ["b"]=> string(5) "black" } function arr_intersect_ukey_func($k1, $k2) {
if ($k1 == $k2)
return 0;
elseif ($k1 > $k2)
return 1;
else
return -1;
}

php中的常用数组函数(三)(获取数组交集的函数们 array_intersect()、array_intersect_key()、array_intersect_assoc()、array_intersect_uassoc()、array_intersect_ukey())的更多相关文章

  1. jQuery中的常用内容总结(三)

    jQuery中的常用内容总结(三) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html 内容提要 选择器(第一节) 选择器的扩展方法(第一节) ...

  2. JavaScript数组(三)数组对象使用整理

    一.数组声明方法1. var  a=new Array();2. var a=new Array([size]);3.var a=new Array(['a'],[1],['b'],[123]);4. ...

  3. JavaScript 数组 length 属性获取数组长度或设置数组元素的数目

    JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...

  4. (一)javascript中的数组index属性——获取数组的索引值

    例如:要做到这样的效果 点击每个选项时,会显示不同的div. 我们的做法:在javascript中,先把所有的div的display设置为none,然后在根据当前的数组里的索引值进行一个显示div的过 ...

  5. Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度

    1 Long[] numbers; //一般使用的定义方式,可分为静态和动态两种定义方式,下有说明. 2 Long numbers[]; //跟上面用法一致. 3 Long... numbers; / ...

  6. JavaScript 数组(三)数组方法

    常用方法及案例参考这篇:数组对象及常用方法

  7. C/C++中如何获取数组的长度?

    C.C++中没有提供 直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方法是使 用sizeof(array) / ...

  8. Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  9. C/C++中如何获取数组的长度(宏&模板)

    C.C++中没有提供 直接获取数组长度的函数.对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方法是使 用  sizeof(array) ...

  10. C/C++中如何获取数组的长度?

    C/C++中如何获取数组的长度? 收藏 C.C++中没有提供 直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方 ...

随机推荐

  1. iOS WKWebView详解

    UIWebView就不用说了,这个过时了,现在iOS8以后建议都使用WKWebView. WKWebView 是现代 WebKit API 在 iOS 8 和 OS X Yosemite 应用中的核心 ...

  2. ubuntu-15.04-server-i386.iso 安装 Oracle 11gR2 数据库

    特点: 需要重新安装老版本的 libaio1_0.3.109-2ubuntu?_i386.deb.默认的libaio库有问题,和其默认libaio的编译方式有关! 默认的gcc 4.9 需要使用 -W ...

  3. 气球或者泡泡向上飘动 jQuery插件

    圣诞.元旦要来了,公司以往基本每个月至少要搞一两款手机小游戏来宣传产品,这次也不例外!! 之前做过,按压柚子.许愿.吃柚子等等小游戏,这次是做个那种 气球向上飘动,戳破气球,随机获取奖品.如下图: 手 ...

  4. visual studio 2013使用技巧

    去掉 引用提示 文本编辑器=>所有语言=>codelens visual studio 由于以前的函数求值超时,函数求值被禁用.必须继续执行才能重新启用函数求值 visual studio ...

  5. 关于Android真机调测Profiler

    U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因.   大概看了下官方的做法,看了几张帖子顺带把做法记录下来.   ...

  6. C primer plus 练习题 第六章

    16. #include <stdio.h> int main() { double remain = 100.0; ; ) { remain = remain * 0.08 + rema ...

  7. JavaScript封装Ajax(类JQuery中$.ajax()方法)

    ajax.js (function(exports, document, undefined){ "use strict"; function Ajax(){ if(!(this ...

  8. Xamarin.Forms中的ListView的ItemTrapped事件与ItemSelected事件的区别

    今天对Xamarin.Forms中的ListView的两个事件(ItemTrapped和ItemSelected)做了小小的研究,发现有以下几点区别: 1.ItemTrapped事件会优先被触发. 2 ...

  9. java中静态代码块的用法 static用法详解(转)

    (一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...

  10. ruby AES加密解密

    最近和京东合作做一个项目,在接口对接传递参数时,参数需要通过AES加密解密. 本来想到用gem 'aescrypt'处理,但是aescrypt的编码方式用的base64,而京东那边用的是16进制.所以 ...