判断步骤: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怎么判断两数组是否有交集