检测方法:1、用“array_unique($arr)”语句去除重复值,获取去重后的数组;2、用count()分别获取原数组和去重数组的数组长度;3、判断两个数组长度是否相等,语法“原数组长度==去重数组长度”,如果相等,则数组里没有重复。

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

php检测数组里有没有重复值的方法

步骤1:使用array_unique()去除重复值,返回去重后的数组

array_unique() 函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除;会返回过滤后的数组。

<?php
header('content-type:text/html;charset=utf-8');   
$arr=array(3,4,2,3,6,4,7,2,8,9,1);
var_dump($arr);
$res=array_unique($arr);
var_dump($res);
?>

1.png

步骤2:使用count()函数获取原数组和去重数组的长度

count() 函数可以统计出数组里所有元素的数量,即获取数组长度。

$len1=count($arr);
$len2=count($res);

1-2.png

步骤3:判断两个数组长度是否相等

$len1==$len2
  • 如果两个数组长度相等,则数组里没有重复值

  • 如果两个数组长度不相等,则表示有元素被去除了,即数组里有重复值。

完整代码:

<?php
header('content-type:text/html;charset=utf-8');   
$arr=array(3,4,2,3,6,4,7,2,8,9,1);
var_dump($arr);
$res=array_unique($arr);
var_dump($res);
$len1=count($arr);
$len2=count($res);
if($len1==$len2){
	echo "数组里有没有重复值";
}else{
	echo "数组里有重复值";
}
?>

2.png


php怎么检测数组里有没有重复值