PHP将页面中点击数量高的链接进行高亮显示的方
网络编程 2021-07-05 09:10www.168986.cn编程入门
这里来介绍PHP将页面中点击数量高的链接进行高亮显示的方法,主要受到WordPress中某插件的启发,需要的朋友可以参考下
背景和需求
就好比说页面导航的左侧是分类,分类狼蚁网站SEO优化有很多链接。我现在想统计所有分类狼蚁网站SEO优化点击次数最多的一个,并把其颜色做特殊处理!
大致的数据结构如下
{ "content": [ { "id": "1", "name": "htmldrive", "url": "http://.htmldrive./", "cate": "前端开发", "clickpoint": "100" }, { "id": "2", "name": "17素材网", "url": "http://.17sucai./", "cate": "前端开发", "clickpoint": "151" }, { "id": "3", "name": "阿里妈妈图标库", "url": "http://.iconfont./", "cate": "前端开发", "clickpoint": "2" }, { "id": "53", "name": "Animate.css", "url": "http://.haorooms./uploads/example/Animatecss/", "cate": "前端开发", "clickpoint": "21" }, { "id": "55", "name": "Dafont", "url": "http://.dafont./", "cate": "字体", "clickpoint": "1" } ] }
如何对这些数据进行分类高亮显示呢?
方法和思路
最好的处理方式是在后端PHP中对齐进行处理。
思路我们可以创建一个新的过渡数组,对原来的数组进行循环,创建一个分类的数组,然后把点击次数中的最大值和ID放到这个数组中。通过比较,获取分类中点击次数最多的ID和点击次数,然后把这个次数最多的ID放在一个新的数组中,循环原来的数据,通过inarray(),函数判断次数最多的ID是不是在这个数组当中,是的话,就给数据增加一个标示字段1,不是的话就是0。那么标示字段为1的就是分类中点击次数最多的。
调整之后输出的json是
{ "content": [ { "id": "1", "name": "htmldrive", "url": "http://.htmldrive./", "cate": "前端开发", "clickpoint": "100", "max": 0 }, { "id": "2", "name": "17素材网", "url": "http://.17sucai./", "cate": "前端开发", "clickpoint": "151", "max": 1 }, { "id": "3", "name": "阿里妈妈图标库", "url": "http://.iconfont./", "cate": "前端开发", "clickpoint": "2", "max": 0 }, { "id": "53", "name": "Animate.css", "url": "http://.haorooms./uploads/example/Animatecss/", "cate": "前端开发", "clickpoint": "21", "max": 0 }, { "id": "55", "name": "Dafont", "url": "http://.dafont./", "cate": "字体", "clickpoint": "1", "max": 0 } ] }
php的代码如下
$sql = "select id,name,url,cate,clickpoint from monwebsite 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表单数据写入MySQL数据库的代码
下一篇:PHP如何实现跨域
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程