您现在的位置是:群英 > 开发技术 > PHP语言
两个数组求交集该怎么做,php中的函数有哪些
Admin发表于 2022-06-16 09:27:15537 次浏览
在这篇文章中,我们将学习“两个数组求交集该怎么做,php中的函数有哪些”的相关知识,下文有详细的介绍及示例,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望对大家阅读完这篇能有所获。

有8个交集函数:1、array_intersect(),只比较键值;2、array_intersect_assoc(),比较键名和键值;3、array_intersect_key(),只比较键名;4、array_uintersect()等。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php中提供例如多个求数组交集的函数:

  • array_intersect():比较数组,返回两个数组的交集(只比较键值)。

  • array_intersect_assoc():比较数组,返回两个数组的交集(比较键名和键值)。

  • array_intersect_key():比较数组,返回两个数组的交集(只比较键名)。

  • array_intersect_uassoc():比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义比较函数)。

  • array_intersect_ukey():比较数组,返回两个数组的交集(只比较键名,使用用户自定义比较函数)。

  • array_uintersect():比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义比较函数)。

  • array_uintersect_assoc():比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较,使用用户自定义函数比较键值)。

  • array_uintersect_uassoc():比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的比较函数)。

下面介绍一下常用求数组交集的比较函数

1、array_intersect()函数

array_intersect() 函数用于比较两个(或更多个)数组的值,并返回交集。

该函数比较两个(或更多个)数组的值,并返回一个交集数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。

<?php
header('content-type:text/html;charset=utf-8');   
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
 
$result=array_intersect($a1,$a2);
var_dump($result);
?>

2、array_intersect_assoc()函数

array_intersect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回交集。

该函数比较两个(或更多个)数组的键名和键值,并返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。

<?php
header('content-type:text/html;charset=utf-8');   
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");

$result=array_intersect_assoc($a1,$a2);
var_dump($result);
?>

3、array_intersect_key()函数

<?php
header('content-type:text/html;charset=utf-8');   
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");

$result=array_intersect_key($a1,$a2);
var_dump($result);
?>

说明:不常用的比较函数

  • array_intersect_uassoc()

  • array_intersect_ukey()

  • array_uintersect()

  • array_uintersect_assoc()

  • array_uintersect_uassoc()

它们都使用用户自定义函数来比较函数

例:

<?php
header('content-type:text/html;charset=utf-8');   
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");

$result=array_intersect_uassoc($a1,$a2,"myfunction");
var_dump($result);
?>



通过以上内容的阐述,相信大家对“两个数组求交集该怎么做,php中的函数有哪些”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: php
相关信息推荐
2022-09-16 17:55:42 
摘要:vue只有一个根标签的原因:1、从查找和遍历DOM的角度来说,如果有多个根,那么查找和遍历DOM的效率会很低;2、从Vue本身来说,如果说一个组件有多个入口多个根,那就意味着用户的组件还可以进一步拆分成多个组件,进一步组件化,会降低代码之间的耦合程度。
2022-06-23 17:04:36 
摘要:大家在浏览网站时有没有注意到网站上有视频,音频等,正在学习HTML和CSS的小伙伴,你知道如何用HTML5在页面中插入视频并自动播放吗?这篇文章就和大家讲讲html5如何插入视频以及HTML插入视频的代码,感兴趣的小伙伴可以参考一下。
2022-08-04 17:44:45 
摘要:判断步骤:1、使用“array_intersect_assoc(数组b,数组a)”比较数组a和数组b的键名和键值,并返回一个包含相同元素的交集数组;2、使用“array_diff_assoc(交集数组,数组a)”比较数组a和交集数组的键名和键值,并返回一个包含不同元素的差集数组;3、利用“$diff==[]”判断差集数组是否为空,若为空则数组a完全属于数组b,反之则不完全属于。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部