php 数组 排名,基于值的php数组排名

我想在你的例子中你最好使用数组数组. (如果你还没有,那么问题就不清楚了.)就像这样.

$array = array();

$array[0] = array('id'=>16103, 'Thumbs'=>0);

$array[1] = array('id'=>16103, 'Thumbs'=>0);

...

然后,从编写交换函数开始.

function swap (&$arr,$key1,$key2) {

$temp=$arr[$key1];

$arr[$key1]=$arr[$key2];

$arr[$key2]=$temp;

// the & before the $arr parameter makes sure the array is passed as a reference. So no need to return the new array at the end.

}

现在为您的排名功能:

function rank(&$arr) {

for ($i = 0; $i < count($arr); $i++) {

if ($arr[$i] < 5) continue;

$places_to_move = $arr[i]['Thumbs'] / 5; // get number of places to promote the entry

$places_to_move = max($places_to_move, $i); // make sure we don't move it out of the array bounds

swap($arr, $i, $i - $places_to_move);

}

}

然后只需为您的未排列数组调用您的rank函数

rank($array);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值