方法:1、使用“$arr2=array_count_values($arr)”语句统计数组中所有值出现的次数;2、使用foreach语句遍历“$arr2”数组,判断数组值的出现次数是否大于1;3、统计大于1的次数即可知道数组重复值的数量。

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

php判断数组中有几个重复的值

在php中,可利用array_count_values()函数来判断数组中有几个重复的值

array_count_values() 函数用于统计数组中所有值出现的次数。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("A","Cat","Dog","A","Dog",1,2,3,3,2,1);
echo "原数组:";
var_dump($arr);
echo "数组各值的出现次数:";
$arr2=array_count_values($arr);
var_dump($arr2);
?>

1.png

可以看出array_count_values() 函数会返回一个关联数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。

在出现次数中,值大于1的就是重复值了,我们只需要统计数量即可。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("A","Cat","Dog","A","Dog",1,2,3,3,2,1);
$arr2=array_count_values($arr);
$count = 0;
foreach($arr2 as $value){
	if($value>1){
		$count ++;
	}
}
echo "数组中的重复值有:".$count;
?>

2.png


php怎么判断数组中有几个重复的值