我用了什么:
$maxpoints = 40;
for($i = 0; $i < count($trainergross); $i++){
$trainergross[$i]['points'] = $maxpoints;
$maxpoints -=2;
}
这是我的排序功能:
function grossSort($gross, $compare) {
if($gross['gross'] > $compare['gross'])
return -1; // move up
else if($gross['gross'] < $compare['gross'])
return 1; // move down
else
return 0; // do nothing
}
这很棘手(至少对我来说)。我需要生成一个基于最高值总降级 2 的积分系统。
这是我在运行一个函数后的数组,按最高总分 ( $trainergross
) 对其进行排序:
Array
(
[0] => Array
(
[instr] => blah
[club] => Colvin
[gross] => 2146
[bud] => 0
[ratio] => 0
)
[1] => Array
(
[instr] => rob
[club] => Evans
[gross] => 2000
[bud] => 0
[ratio] => 0
)
[2] => Array
(
[instr] => new
[club] => Boulevard
[gross] => 930
[bud] => 755
[ratio] => 248
)
[3] => Array
(
[instr] => test
[club] => Boulevard
[gross] => 805
[bud] => 50
[ratio] => 50
)
[4] => Array
(
[instr] => lee
[club] => Boulevard
[gross] => 235
[bud] => 60
[ratio] => 30
)
[5] => Array
(
[instr] => rob
[club] => Boulevard
[gross] => 175
[bud] => 125
[ratio] => 125
)
[6] => Array
(
[instr] => rob
[club] => Henrietta
[gross] => 60
[bud] => 0
[ratio] => 0
)
)
在这个例子中$trainergross[0]
应该得到key => value
一个"points" => 40
$trainergross[1]
会得到 38.. [2] 会得到 36... 等等。
然后我会按芽对数组进行排序,然后再次根据最高芽增加值键。
我的问题是,我什至不知道从哪里开始这样做。是否可以根据数组的顺序添加键?
我唯一的想法是做 3 个不同的数组,然后将它们全部合并,但这似乎非常低效。
抱歉含糊不清,甚至不知道如何问,希望这能很好地解释它。