首页后端开发PHPPHP获取数组求交集有多少方法?

PHP获取数组求交集有多少方法?

时间2024-03-22 08:21:03发布访客分类PHP浏览1442
导读:在这篇文章中我们将学习“PHP获取数组求交集有多少方法?”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。...
在这篇文章中我们将学习“PHP获取数组求交集有多少方法?”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。



三种方法:1、用array_intersect()比较键值获取交集,语法“array_intersect(数组1,数组2)”;2、用array_intersect_key()比较键名获取交集,语法“array_intersect_key(数组1,数组2)”;3、比较键名和键值获取交集,语法“array_intersect_assoc(数组1,数组2)”。

PHP提供了多个函数来比较两个数组求交集,下面主要介绍常用的三个函数:array_intersect()、array_intersect_assoc()和array_intersect_key()。

好了,进入主题!我们有下面两个数组:

$arr1=array("a"=>
    "red","b"=>
    "green","c"=>
    "blue","d"=>
    "yellow");
    
$arr2=array("a"=>
    "orange","b"=>
    "green","e"=>
    "pink","r"=>
    "yellow");
    
登录后复制

下面我们通过代码示例来分别看看array_intersect()、array_intersect_assoc()和array_intersect_key()是如何比较数组求交集的。

1、array_intersect()函数--比较数组的键值

?php
header("Content-type:text/html;
    charset=utf-8");
    
$arr1=array("a"=>
    "red","b"=>
    "green","c"=>
    "blue","d"=>
    "yellow");
    
$arr2=array("a"=>
    "orange","b"=>
    "green","e"=>
    "pink","r"=>
    "yellow");
    

$result=array_intersect($arr1,$arr2);
    
var_dump($result);
    
?>
    
登录后复制

array_intersect($arr1,$arr2...)函数只比较数组的键值,然后返回一个交集数组,该数组中包含了所有在被比较的数组$arr1中,同时也在任何其他参数数组$arr2...中的值。(交集数组中的元素都是选用被比较的数组$arr1中的元素)

$arr1数组和$arr2数组中都存在的键值有2个:“green”和“yellow”,然后从被比较的数组$arr1中选取交集元素,因此输出的结果为:

2、array_intersect_key()函数--比较数组的键名

?php
header("Content-type:text/html;
    charset=utf-8");
    
$arr1=array("a"=>
    "red","b"=>
    "green","c"=>
    "blue","d"=>
    "yellow");
    
$arr2=array("a"=>
    "orange","b"=>
    "green","e"=>
    "pink","r"=>
    "yellow");
    

$result=array_intersect_key($arr1,$arr2);
    
var_dump($result);
    
?>
    
登录后复制

array_intersect_key($arr1,$arr2...)只比较数组的键名,然后返回一个交集数组,交集元素会根据键名从被比较的数组$arr1中选取的。

我们来看看上面的示例,$arr1数组和$arr2数组中都存在的键名有2个:“a”和“b”,然后根据键名从被比较的数组$arr1中选取元素,因此输出的结果为:

3、array_intersect_assoc()函数--比较数组的键名和键值

?php
header("Content-type:text/html;
    charset=utf-8");
    
$arr1=array("a"=>
    "red","b"=>
    "green","c"=>
    "blue","d"=>
    "yellow");
    
$arr2=array("a"=>
    "orange","b"=>
    "green","e"=>
    "pink","r"=>
    "yellow");
    

$result=array_intersect_assoc($arr1,$arr2);
    
var_dump($result);
    
?>
    
登录后复制

array_intersect_assoc($arr1,$arr2...)会比较数组的键名和键值,然后返回一个交集数组。

在上面的示例中,$arr1数组和$arr2数组中键名和键值都相同的元素只有一个:“"b"=> "green"”,因此输出的结果为:



现在大家对于PHP获取数组求交集有多少方法?的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多PHP获取数组求交集有多少方法?的知识,欢迎关注网络,网络将为大家推送更多相关知识的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP获取数组求交集有多少方法?
本文地址: https://pptw.com/jishu/650254.html
为什么exec不生效?解决方法是什么? Oracle中模糊查询like关键字有哪些用法

游客 回复需填写必要信息