首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

可否根据下面的两个数组来判断趋势

2013-10-14 
能否根据下面的两个数组来判断趋势?$old_rank array(1array(uid132,use_score61570),2a

能否根据下面的两个数组来判断趋势?

      
               $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)
);

这样的两个数组,怎么进行比对得出排名的趋势,比如用户145排名上升一位了,121排名下降一位了,132排名保持不变。 php
[解决办法]
$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)
);
foreach($old_rank as $k=>$v) $old[$v['uid']] = $k;
foreach($new_rank as $k=>$v) $new[$v['uid']] = $k;

foreach($new as $k=>$v)
  echo "$k 排名 $v " . ($v - $old[$k]) . '<br>';
132 排名 1 0
145 排名 2 -1
121 排名 3 1
167 排名 4 -1
100 排名 5 1

热点排行