实现排行版带有趋势的,该怎么实现呢?
回复讨论(解决方案) 这个... ... 希望你将问题描述清楚。
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
我是卡在趋势上面,我该怎么判断用户是上升还是下降还是保持不变!
按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
如果是这样是不是都要记录起来啊,我可以保留两周的排行版了?
有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?
有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?
$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
)
恩,多谢!结贴!