PHP获取数组中重复最多的元素的方法

作者:袖梨 2022-06-24
 代码如下 复制代码

/**
 *
 * @author http://www.111com.net
 * Created on 2014-4-1
 * @param   array $array
 * @param   int [optional] $length
 * @return  array
 */
function mostRepeatedValues($array,$length=0){
    if(empty($array) or !is_array($array)){
        return false;
    }
    //1. 计算数组的重复值
    $array = array_count_values($array);
    //2. 根据重复值 倒排序
    arsort($array);
    if($length>0){
        //3. 返回前 $length 重复值
        $array = array_slice($array, 0, $length, true);
    }
    return $array;
 
}
$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);
$counts=mostRepeatedValues($array,5);
print_r($counts);
/*
Array
(
    [3] => 5
    [4] => 3
    [1] => 3
    [9] => 2
    [45] => 2
)
*/
?>

相关文章

精彩推荐