php教程

超轻量级php框架startmvc

PHP将页面中点击数量高的链接进行高亮显示的方法

更新时间:2020-03-09 10:17:11 作者:startmvc
背景和需求就好比说页面导航的左侧是分类,分类下面有很多链接。我现在想统计所有分类

背景和需求

就好比说页面导航的左侧是分类,分类下面有很多链接。我现在想统计所有分类下面点击次数最多的一个,并把其颜色做特殊处理!

大致的数据结构如下:


{
 "content": [
 {
 "id": "1",
 "name": "htmldrive",
 "url": "http://www.htmldrive.net/",
 "cate": "前端开发",
 "clickpoint": "100"
 },
 {
 "id": "2",
 "name": "17素材网",
 "url": "http://www.17sucai.com/",
 "cate": "前端开发",
 "clickpoint": "151"
 },
 {
 "id": "3",
 "name": "阿里妈妈图标库",
 "url": "http://www.iconfont.cn/",
 "cate": "前端开发",
 "clickpoint": "2"
 },
 {
 "id": "53",
 "name": "Animate.css",
 "url": "http://www.haorooms.com/uploads/example/Animatecss/",
 "cate": "前端开发",
 "clickpoint": "21"
 },
 {
 "id": "55",
 "name": "Dafont",
 "url": "http://www.dafont.com/",
 "cate": "字体",
 "clickpoint": "1"
 }
 ]
}


 {
 "content": [
 {
 "id": "1",
 "name": "htmldrive",
 "url": "http://www.htmldrive.net/",
 "cate": "前端开发",
 "clickpoint": "100",
 "max": 0
 },
 {
 "id": "2",
 "name": "17素材网",
 "url": "http://www.17sucai.com/",
 "cate": "前端开发",
 "clickpoint": "151",
 "max": 1
 },
 {
 "id": "3",
 "name": "阿里妈妈图标库",
 "url": "http://www.iconfont.cn/",
 "cate": "前端开发",
 "clickpoint": "2",
 "max": 0
 },
 {
 "id": "53",
 "name": "Animate.css",
 "url": "http://www.haorooms.com/uploads/example/Animatecss/",
 "cate": "前端开发",
 "clickpoint": "21",
 "max": 0
 },
 {
 "id": "55",
 "name": "Dafont",
 "url": "http://www.dafont.com/",
 "cate": "字体",
 "clickpoint": "1",
 "max": 0
 }
 ]
 }

php的代码如下:


 $sql = "select id,name,url,cate,clickpoint from commonwebsite order by id asc ";
 $res= $db->getAll($sql);
 $temp_arr = array();
 foreach ($res as $key => $value) {
 if(!isset($temp_arr[$value['cate']])){
 $temp_arr[$value['cate']] = array();
 $temp_arr[$value['cate']]['max'] = $value['clickpoint'];
 $temp_arr[$value['cate']]['id'] = $value['id'];
 }else{
 if($value['clickpoint']>$temp_arr[$value['cate']]['max']){
 $temp_arr[$value['cate']]['max'] = $value['clickpoint'];
 $temp_arr[$value['cate']]['id'] = $value['id'];
 }
 }
 }
 $temp_id = array(); //创建一个存放ID的临时数组
 foreach ($temp_arr as $val) {//循环之前创建的临时数组,存放分类和最多点击次数的
 $temp_id[] = $val['id']; //将点击次数最多的ID赋值给了临时数组
 }
 foreach ($res as $key => $vals) { //循环原来的数据
 if(in_array($vals['id'], $temp_id)){//如果次数最多的ID在原来的数组的ID中,那个加一个字段max并设置其值为1
 $res[$key]['max'] =1;
 }else{
 $res[$key]['max'] =0;//否则不是点击次数最多的,设置为0
 }
 }
 $result['content'] = $res;
 die(json_encode($result)); //json输出
 exit();

PHP 链接 高亮