php统计数组中重复值出现的次数array_count_values2018-03-27 15:08
统计数组中重复值出现的次数这个问题,是今天遇到的。
起因是这样的,有多个值,比如$str=“1,2,3,2,1”。
要将其插入表中,但是不允许值不同,也就是说要么全是1,要么全是2,以此类推。
先使用explode将$str转换成数组。
$arr=explode(",",$str);
然后使用array_count_values($array),得到新结果
$arr=array_count_values(explode(",",$str));
Array
(
[1] => 2
[2] => 2
[3] => 1
)
即"1"出现了两次,"2"出现了两次,"3"出现了一次。
其实到这一步,已经能够满足小伙伴们的需求了。
但是小编要的是只有一个值出现了重复。
很简单了,我们只需要使用count函数即可。
if (count(array_count_values(explode(",",$str)))==1){
echo '输入值正确';
}else{
echo '输入值错误';
}
需要注意的是array_count_values将会返回一个新数组。