Я получаю массив (mysql_fetch_assoc ()) комнат в результате запроса mysql. Я хочу заказать этот массив «случайно», но с одним правилом. Каждый номер комнаты не может быть более чем на 2 выше или ниже следующего.
Теперь я предполагаю, что должен использовать usort, чтобы сделать это, но я не могу понять это. Я посмотрел на несколько вопросов и объяснений 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');
Других решений пока нет …