Добрый день. столкнулся с такой проблемой. Есть простой ассоциативный массив
array(7) {
['1']=>
int(95)
['2']=>
int(83)
['3']=>
int(64)
['4']=>
int(71)
['5']=>
int(96)
['6']=>
int(95)
['7']=>
int(7)
}
Нужно отсортировать его по значению, при этом сохраняя ключ.
Вроде все просто есть функции asort() и arsort(). Но есть очень неприятный момент
Замечание:
Если оба сравниваемых значения эквивалентны, то порядок их в отсортированном массиве не определен.
А мне надо железно чтоб элемент который был раньше, был первым допустим (если сортируем по убыванию), первым относительно элемента с таким же значением.
т.е при сортировке по убыванию должно получится так
array(7) {
['5']=>
int(96)
['1']=>
int(95)
['6']=>
int(95)
['2']=>
int(83)
['4']=>
int(71)
['3']=>
int(64)
['7']=>
int(7)
}
а по возрастанию
array(7) {
['7']=>
int(7)
['3']=>
int(64)
['4']=>
int(71)
['2']=>
int(83)
['1']=>
int(95)
['6']=>
int(95)
['5']=>
int(96)
}