• 置业指南:买高层要注意这些问题 2018-05-22
  • い羛琩矪堵旧笴眏い瓣笴潦ㄆン 2018-05-22
  • 有力有序有效防范化解煤电产能过剩风险 2018-05-22
  • 美好生活的价值追求和实现路径-社会关注-理论频道-中工网 2018-05-21
  • 保罗亲手为自己圆梦 火箭勇士双双会师西部决赛 2018-05-21
  • Floating production, storage and offloading vessel delivered in Qingdao 2018-05-20
  • 汽車定位跟蹤官員意圖敲詐 追蹤器該怎麼管 2018-05-20
  • 工作队精准发力助力贫困村“摘帽” 2018-05-20
  • 中消协发布榨汁机比较试验结果 2018-05-20
  • 游花海林芝,赏野生桃花 2018林芝桃花节29日开幕 2018-05-20
  • 19米99轻松卫冕 巩立姣:没突破20米有点可惜 2018-05-18
  • 海南省工商局出实招提高干部素质 强化工作作风 2018-05-18
  • 栾蕾英亮相TOP100时尚盛典 盛装亮相仙气十足 2018-05-18
  • 以合法形式掩盖非法目的的合同效力 2018-05-18
  • 4月解放领跑重卡行业 红岩保持增幅第一 2018-05-17
  • php中数组的并集、交集和差集函数介绍

    栏目: 编程语言 发布于: 2014-04-24 23:00:01

    php中的数组函数真的是非常之多,实际工作中多了解一些php自身存在的一些函数,将会大大提高工作的速度。这篇文章分享一下在php中如何处理两个或多个数组的并集,交集和差集的函数。

    (1)php计算两个或多个数组的并集

    并集即将两个或多个数组合为一个数组的结果集合。php中合并数组一般都会用到 array_merge 与 + 这两种操作。至于这两者的区别,可参照本站文章:

    PHP合并数组+与array_merge的区别

    (1)php计算两个或多个数组的交集

    交集即是两个或多个数组中都存在的那一部分的数据的集合。计算数组的交集主要用到了array_intersect系的函数,列举如下:

    array_intersect ( $arr , $arr2[……])  返回一个数组 $arr 与其他数组的交集,键名不变。
    array_intersect_assoc( $arr, $arr2[……]) 返回一个数组 $arr 与其他数组的交集,同时比较键名,索引不变。
    array_intersect_uassoc( $arr , $arr2 [……] , 'cmp_function ') 带索引检查数组的交集,用回调函数,比较索引。
    array_intersect_key ( $arr ,$arr2 [……] ) 使用键名比较计算数组的交集。
    array_intersect_ukey( $arr , $arr2 [……],'cmp_function'); 用回调函数比较键名来计算数组的交集。

    array_uintersect ( $arr , $arr2 [……] , 'cmp_function' )   比较数组中的交集 用回调函数比较数据。
    array_uintersect_assoc( $arr, $arr2[……] , 'cmp_function') 带索引检查数组的交集 用回调函数比较数据。
    array_uintersect_uassoc($arr , $arr2 [……] , 'cmp_function' ) 带索引检查数组的交集 , 用回调函数比较数据和索引。

    array_intersect 示例如下:

    $array1=array('a'=>'green','red','blue');
    $array2=array('b'=>'green','yellow','red');
    $result=array_intersect($array1,$array2);

    $result 的结果将为:

    Array
    (
       [a]=>green
       [0]=>red
    )

    (1)php计算两个或多个数组的差集

    差集即是除去交集之外的那一部分的数据的集合。计算数组的差集主要用到了array_diff系的函数,列举如下:

    array_diff( $arr , $arr2[……] )  返回一个数组,该数组包括了所有在$arr1 但是不在任何其他参数数组中的值,键名不变。
    array_diff_uassoc( $arr ,$arr2 ,[……] , 'cmp_function') 用回调函数做索引比较数组中的差集。
    array_diff_assoc( $arr , $arr2[……] ) 返回一个数组,$arr 与其他数组的差集,同时比较键名,索引不变。

    array_udiff ( $arr , $arr2 [……] , 'cmp_function') 用回调函数比较数据来计算数组的差集。
    array_udiff_uassoc (  $arr ,$arr2 ,[……]  , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据和索引。  
    array_udiff_assoc ( $arr ,$arr2 ,[……] , 'cmp_function')  带索引检查数组的差集,用回调函数比较数据,键名也比较。

    array_diff 示例如下:

    $array1=array('a'=>'green','red','blue','red');
    $array2=array('b'=>'green','yellow','red');
    $result=array_diff($array1,$array2);

    $result 的结果将为:

    array(1=>'blue')

    以上函数只是粗略的介绍了一下函数名称和作用,至于各个函数的具体用法,请参考php手册。

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:php中数组的并集、交集和差集函数介绍
    IT技术书籍推荐:
    高性能MySQL(第3版)
    高性能MySQL(第3版)
    施瓦茨 (Baron Schwartz) (作者), 扎伊采夫 (Peter Zaitsev) (作者)
    《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。 《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。