У меня есть массив, в котором есть имена пользователей и оценки.
Сначала я сортирую по наибольшему количеству баллов Это работает просто отлично, но тем, у кого одинаковые баллы, я хочу, чтобы они были отсортированы по имени, а остальные, у которых 0, также должны быть отсортированы по имени.
Я использую эту функцию для сортировки по r_nb_today
(это оценка):
function sortByNbToday($a, $b) {
$a = $a['r_nb_today'];
$b = $b['r_nb_today'];
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
usort($disp_user_arr, 'sortByNbToday');
А вот и вывод массива:
Array
(
[0] => Array
(
[u_id] => 9
[u_name] => Souhaila S.
[r_nb_today] => 7
)
[1] => Array
(
[u_id] => 59
[u_name] => Cirine E.
[r_nb_today] => 2
)
[2] => Array
(
[u_id] => 64
[u_name] => Cyrine B.
[r_nb_today] => 1
)
[3] => Array
(
[u_id] => 8
[u_name] => Jihen B. R.
[r_nb_today] => 1
)
[4] => Array
(
[u_id] => 18
[u_name] => Otail J.
[r_nb_today] => 0
)
[5] => Array
(
[u_id] => 15
[u_name] => Rim H.
[r_nb_today] => 0
)
[6] => Array
(
[u_id] => 12
[u_name] => Bassem D.
[r_nb_today] => 0
)
[7] => Array
(
[u_id] => 75
[u_name] => Mariem N.
[r_nb_today] => 0
)
[8] => Array
(
[u_id] => 66
[u_name] => Khaoula K.
[r_nb_today] => 0
)
[9] => Array
(
[u_id] => 74
[u_name] => Ghada J.
[r_nb_today] => 0
)
[10] => Array
(
[u_id] => 62
[u_name] => Alaeddine M.
[r_nb_today] => 0
)
[11] => Array
(
[u_id] => 79
[u_name] => Khaled B.
[r_nb_today] => 0
)
[12] => Array
(
[u_id] => 71
[u_name] => Desiree Y.
[r_nb_today] => 0
)