这里来介绍PHP将页面中点击数量高的链接进行高亮显示的方法,主要受到WordPress中某插件的启发,需要的朋友可以参考下
背景和需求
就好比说页面导航的左侧是分类,分类下面有很多链接。我现在想统计所有分类下面点击次数最多的一个,并把其颜色做特殊处理!
大致的数据结构如下:
{ "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" } ]}
如何对这些数据进行分类高亮显示呢?
方法和思路
最好的处理方式是在后端PHP中对齐进行处理。
思路:我们可以创建一个新的过渡数组,对原来的数组进行循环,创建一个分类的数组,然后把点击次数中的最大值和ID放到这个数组中。通过比较,获取分类中点击次数最多的ID和点击次数,然后把这个次数最多的ID放在一个新的数组中,循环原来的数据,通过inarray(),函数判断次数最多的ID是不是在这个数组当中,是的话,就给数据增加一个标示字段1,不是的话就是0。那么标示字段为1的就是分类中点击次数最多的。
调整之后输出的json是:
{ "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"<div>本文来*源gaodai^.ma#com搞#代!码网</div><pre>搞gaodaima代码
;: 0 }, { "id": "55", "name": "Dafont", "url": "http://www.dafont.com/", "cate": "字体", "clickpoint": "1", "max": 0 } ] }