Rumah > pembangunan bahagian belakang > tutorial php > 能否根据下面的两个数组来判断趋势?

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

WBOY
Lepaskan: 2016-06-23 14:23:56
asal
1254 orang telah melayarinya

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)		);
Salin selepas log masuk

这样的两个数组,怎么进行比对得出排名的趋势,比如用户145排名上升一位了,121排名下降一位了,132排名保持不变。


回复讨论(解决方案)

$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>';
Salin selepas log masuk
Salin selepas log masuk
132 排名 1 0
145 排名 2 -1
121 排名 3 1
167 排名 4 -1
100 排名 5 1

$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>';
Salin selepas log masuk
Salin selepas log masuk
132 排名 1 0
145 排名 2 -1
121 排名 3 1
167 排名 4 -1
100 排名 5 1
楼上正解
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan