• 技术文章 >后端开发 >PHP问题

    php怎么判断两数组是否有交集

    青灯夜游青灯夜游2022-07-15 20:29:13原创273

    判断步骤:1、利用array_intersect_assoc()函数比较两个数组的键名和键值,语法“array_intersect_assoc(数组1,数组2)”,会返回一个交集数组;2、利用“===”运算符判断交集数组是否为空,语法“交集数组===[]”,如果交集数组为空则两数组没有交集,如果交集数组不为空则两数组有交集。

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

    在php中,可以利用array_intersect_assoc() 函数和“===”运算符来判断两数组是否有交集。

    实现步骤:

    步骤1:利用array_intersect_assoc()函数比较数组,求两数组的交集

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

    $result=array_intersect_assoc($a1,$a2);

    步骤2:利用“===”运算符判断交集数组是否为空

    $result===[]

    如果交集数组为空则两数组没有交集,如果交集数组不为空则两数组有交集。

    完整示例代码:

    <?php
    header('content-type:text/html;charset=utf-8');   
    function f($a1,$a2){
    	$result=array_intersect_assoc($a1,$a2);
    	var_dump($result);
    	if($result===[]){
    		echo '两数组没有交集';
    	}else{
    		echo '两数组有交集';
    	}
    }
    
    
    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $a2=array("a"=>"red","b"=>"green","c"=>"blue");
    $a3=array("a"=>"1","b"=>"2","d"=>"blue");
    var_dump($a1);
    var_dump($a2);
    echo '$a1 和 $a2对比:';
    f($a1,$a2);
    echo '<hr>';
    
    var_dump($a2);
    var_dump($a3);
    echo '$a2 和 $a3对比:';
    f($a2,$a3);
    ?>

    1.png

    推荐学习:《PHP视频教程

    以上就是php怎么判断两数组是否有交集的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php数组
    上一篇:php怎么去除二维数组中的某个值 下一篇:php怎么把数组中每个元素都除以2
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP数组怎么根据指定条件求和• php数组求和与平均值的函数是什么• php数组里面怎么只取一个元素• php数组怎么去除重复和空元素• php数组怎么除去值等于3的元素
    1/1

    PHP中文网