Home >Backend Development >PHP Tutorial >实现排行版带有趋势的

实现排行版带有趋势的

WBOY
WBOYOriginal
2016-06-23 14:23:55827browse

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


回复讨论(解决方案)

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

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


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

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



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

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

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

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

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

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

	$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
)
恩,多谢!结贴!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn