Home >Backend Development >PHP Tutorial >实现排行版带有趋势的
实现排行版带有趋势的,该怎么实现呢?
这个... ... 希望你将问题描述清楚。
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!
读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
我是卡在趋势上面,我该怎么判断用户是上升还是下降还是保持不变!
按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
如果是这样是不是都要记录起来啊,我可以保留两周的排行版了?
有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?
有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?
$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 做键。生成这些数据时就应该这样做好$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
//先变形为这样,即用 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