PHP求一个数组中出现最多的值

207 5月之前 PHP

答案

function getMaxCountValue($array)
{
    $array2 = array_count_values($array);   // 统计数组中所有值出现的次数
    arsort($array2);                        // 按照键值对关联数组进行降序排序
    $first = reset($array2);
    $firstKey = key($array2);
    return [$firstKey, $first];
}

测试代码:

$array = array(1, 1, 1, 54, 3, 4, 3, 4, 3, 14, 3, 4, 3, 7, 8, 9, 12, 45, 66, 5, 7, 8, 9, 2, 45, 3);
list($key, $count) = getMaxCountValue($array);
echo "数组中数字{$key}重复次数最多,为:{$count}次";

输出结果:

数组中数字3重复次数最多,为:6次