PHP 获取重复数组中 第二多的元素

$target = ["重复项目", "repeat", "repeat", "重复", "重复项目", "重复", "aaa", "bbb", "repeat"];

/**
 * 根据重复内容查找,找到重复数量第二多的数据
 *
 * @name find
 * @param {array} src - 包含重复项的数据
 * @return {string|array} - 返回结果
 * @author 宁佳兵
 */
function find($src) {

    //计算数组中重复的次数
    $dest  = array_count_values( $src );
    //排序
    arsort($dest);
    //定义一个空数组
    $arr = [];
    //将相同重复数量的放在一个数组中
    foreach ( $dest as $item => $value ) {
        $arr[$value][] = $item;
    }
    //重新排下标key 从0开始排
    $arr = array_values($arr);
    //返回第二个数组元素就是重复数量第二多的数据
    return $arr[1];
}
$arr = find( $target );

 

posted @ 2020-04-11 15:27  宁佳兵  阅读(599)  评论(0编辑  收藏  举报