我得到了一个房间数组(mysql_fetch_assoc())作为mysql查询的结果。我想"随机"对这个数组进行排序,但有一个规则。每个房间号不能超过2个,比下一个高或低。
现在我认为我应该使用 usort 来做到这一点,但我似乎无法弄清楚。我看过许多问题和解释,但我根本无法正确理解。我相信这不会像我目前经历的那么困难......
这就是我现在正在尝试的。
shuffle($room_array);
function cmp($a, $b){
if ($a["room"] == $b["room"] || $a["room"]+2 == $b["room"]|| $a["room"]+1 == $b["room"]|| $a["room"]-2 == $b["room"]|| $a["room"]-1 == $b["room"]){
return 1;
}else return 0;
}
usort($room_array, "cmp");
非常感谢!
试试这个:
function cmp ($a, $b){
return $b - $a;
}
usort($room_array, 'cmp');