对比方法:1、利用array_intersect_assoc()函数对比两个数组的键名和键值,语法“array_intersect_assoc($arr1,$arr2)”,会返回一个包含相同元素的交集数组;2、利用“==”运算符判断交集数组是否为空数组,语法“交集数组==[]”,如果交集数组为空数组,则两个数组里没有相同元素,如果交集数组不是空数组,则两个数组里有相同元素。

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

php对比两个数组是否有相同元素的方法

步骤1:利用array_intersect_assoc()函数对比数组

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

交集数组中包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2)中的键名和键值。

<?php
header('content-type:text/html;charset=utf-8');
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"red","b"=>"green","c"=>"yellow");
$arr3=array("a"=>"green","b"=>"1","c"=>"yellow");
var_dump($arr1);
var_dump($arr2);
var_dump($arr3);
$result=array_intersect_assoc($arr1,$arr2);
echo '两个数组($arr1和$arr2)的交集:';
var_dump($result);
$result=array_intersect_assoc($arr1,$arr3);
echo '两个数组($arr1和$arr3)的交集:';
var_dump($result);
?>

1.png

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

  • 如果交集数组为空数组,则两个数组里没有相同元素

  • 如果交集数组不是空数组,则两个数组里有相同元素

if($result==[]){
	echo '两个数组中没有相同元素<br>';
}else{
	echo '两个数组中有相同元素<br>';
}

2.png


php怎么对比两个数组是否有相同元素