直接ctrl+V 慢慢试去吧~

<?php

function mostRepeatedValues($array,$length=0){

    //1. 计算数组的重复值
    $array = array_count_values($array);
    //2. 根据重复值倒排序
    arsort($array);
    if($length>0){
        //3. 返回前 $length 重复值
        $array = array_slice($array, 0, $length, true);
    }
	//取所有下标
	$keys=array_keys($array);
    return $keys;
}

//$array = array(1, 1, 54, 3,4, 3,4, 3, 14, 3,4, 3,7,888,8,888,8,888,8,888,8,888,8,888,8,888,8,888,8,888,8,888,8,888,9,12,45,66,5,7,888,9,2,45);
$t=microtime(true);

$array=array();
for ($i2=1; $i2<=10; $i2++){
	for ($i=1; $i<=20000; $i++){
		array_push($array,$i);
		array_push($array,'888');
	}
}
$t=microtime(true)-$t;$t=$t*1000;
echo "运算".count($array)."个成员,耗时:".$t."<br>";


$counts=mostRepeatedValues($array,5);//要取重复次数最多的前多少个

print_r($counts);

echo $counts[0];


相关推荐

php数组相关大全

函数名函数简介array新建一个数组array_change_key_case返回字符串键名全为小写或大写的数组array_chunk将一个数组分割成多个array_column返回数组中指定的一列a

20亿行测试 sqlite最多可以容纳少行据 以及插入速度 每个文件大?

据说 数据库文件最大支持 281 T每个数据库由一个或多个数据页组成,一个数据库内的所有数据页大小都相同,但是不同的数据库可以使用不同的数据页大小,范围从 512 到 65536 字节。从 sqlit

数组的索引(下标)为什么从0开始

简单一句话: 就是为了方便 计算出每个元素的具体内存地址因为数组变量 实际上在内存上储存的是这个数组变量中第一个元素的的首地址,而系统在取数组中某个元素的值时,必须要得到具体的那个元素的地址才能获取到

数组打乱顺序:洗牌法 发明者:Fisher–Yates shuffle

什么是洗牌算法?在php中,有函数 shufle($arr); 可以直接打乱数组.而有些语言是没有现成的函数的.那么可以自己写一个洗牌算法:第一步:取一个随机数, 最小值和最大值分别为 1和数组的成员

网站重复内容检测软件 重复文章检测

在网站运营一段时间后,可能会出现大量重复内容,浪费空间是小事,被k站了就得不偿失了如果数据少还好,可以手动检查 但是几十万 上百万 甚至上千万文章 手动检测重复显然不太可行只能用工具来检测价格根据数量

zblog设置分类和标题 禁止重复

设置分类禁止重复:执行sql语句:ALTER TABLE `zbp_category` ADD unique(`cate_Name`);设置标题禁止重复:执行slq语句:ALTER TABLE `zb

JavaScript取随字母(指定长度且不重复

使用原生js生成n个不重复的随机字母方法<meta charset="UTF-8"> <script> function suijizimu(len){

刷新网页时,提示:您所查找网页要使用已输入信息。返回此页可能需要重复已进行所有操作。是否要继续操作?

在网页中有form表单的时候,只要网页刷新,就会提示您所查找的网页要使用已输入的信息。返回此页可能需要重复已进行的所有操作。是否要继续操作?的确认重新提交表单的提示这个提示只有在你提交过后才会提示如果

sqlite查询列出某字段有重复数

sqlite3 查询列出 指定字段有重复的行数据select * from 表名称 WHERE (字段名) IN (SELECT 字段名 FROM 表名称 GROUP BY 字段名 HAVING

php取随机汉字 代码

php取随机汉字代码function 取随机汉字($num=1000){ $b = ''; for ($i=0; $i<$num; $i++) {