方法:1、用array_intersect()比较两个数组的值,语法“array_intersect(数组1,数组2)”,会返回一个交集数组;2、判断交集数组是否为空,语法“交集数组==[]”,如果为空则没有相同值,如果不为空则有相同值。

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

php判断两个数组是否有相同值

1、使用array_intersect()函数比较两个数组,获取交集元素

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

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

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

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array(1,2,3,4,5);
$arr2=array(2,4,6,8,10);
$arr3=array(1,3,5,7,9);
echo "数组1和数组2的交集:<br>";
$intersect=array_intersect($arr1,$arr2);
var_dump($intersect);

echo "数组2和数组3的交集:<br>";
$intersect=array_intersect($arr3,$arr2);
var_dump($intersect);
?>

1.png

2、判断交集数组是否为空数组

  • 如果是空数组,则两个数组没有相同值

  • 如果不是空数组,则两个数组有相同值

echo "数组1和数组2的交集:<br>";
$intersect=array_intersect($arr1,$arr2);
var_dump($intersect);
if($intersect==[]){
	echo "两个数组没有相同值<br><br><br>";
}else{
	echo "两个数组有相同值<br><br><br>";
}


echo "数组2和数组3的交集:<br>";
$intersect=array_intersect($arr3,$arr2);
var_dump($intersect);
if($intersect==[]){
	echo "两个数组没有相同值<br>";
}else{
	echo "两个数组有相同值<br>";
}

2.png


php怎么判断两个数组是否有相同值