>  기사  >  백엔드 개발  >  实现排行版带有趋势的

实现排行版带有趋势的

WBOY
WBOY원래의
2016-06-23 14:23:55798검색

实现排行版带有趋势的,该怎么实现呢?


回复讨论(解决方案)

这个... ... 希望你将问题描述清楚。

这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!


这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!

读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....



这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!

读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
我是卡在趋势上面,我该怎么判断用户是上升还是下降还是保持不变!

按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降

按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
如果是这样是不是都要记录起来啊,我可以保留两周的排行版了?

有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?

有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?

	$old_rank = array(			"1"=>array('uid'=>132,'use_score'=>61570),			"2"=>array('uid'=>121,'use_score'=>50932),			"3"=>array('uid'=>145,'use_score'=>46789),			"4"=>array('uid'=>100,'use_score'=>39089),			"5"=>array('uid'=>167,'use_score'=>29089)		);		$new_rank = array(			"1"=>array('uid'=>132,'use_score'=>61570),			"2"=>array('uid'=>145,'use_score'=>51932),			"3"=>array('uid'=>121,'use_score'=>50932),			"4"=>array('uid'=>167,'use_score'=>40089),			"5"=>array('uid'=>100,'use_score'=>39089)		);

想问下,像这样的,我有什么好的办法其中的uid是上升还是下降或者是不变呢?

//先变形为这样,即用 uid 做键。生成这些数据时就应该这样做好$old_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  121=>array('uid'=>121,'use_score'=>50932),  145=>array('uid'=>145,'use_score'=>46789),  100=>array('uid'=>100,'use_score'=>39089),  167=>array('uid'=>167,'use_score'=>29089));$new_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  145=>array('uid'=>145,'use_score'=>51932),  121=>array('uid'=>121,'use_score'=>50932),  167=>array('uid'=>167,'use_score'=>40089),  100=>array('uid'=>100,'use_score'=>39089));foreach($new_rank as $k=>$v)  $res[$k] = $v['use_score'] - $old_rank[$k]['use_score'];print_r($res);
Array
(
    [132] => 0
    [145] => 5143
    [121] => 0
    [167] => 11000
    [100] => 0
)

//先变形为这样,即用 uid 做键。生成这些数据时就应该这样做好$old_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  121=>array('uid'=>121,'use_score'=>50932),  145=>array('uid'=>145,'use_score'=>46789),  100=>array('uid'=>100,'use_score'=>39089),  167=>array('uid'=>167,'use_score'=>29089));$new_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  145=>array('uid'=>145,'use_score'=>51932),  121=>array('uid'=>121,'use_score'=>50932),  167=>array('uid'=>167,'use_score'=>40089),  100=>array('uid'=>100,'use_score'=>39089));foreach($new_rank as $k=>$v)  $res[$k] = $v['use_score'] - $old_rank[$k]['use_score'];print_r($res);
Array
(
    [132] => 0
    [145] => 5143
    [121] => 0
    [167] => 11000
    [100] => 0
)
恩,多谢!结贴!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.