Na przykład, jeśli masz zestaw liczb 5,4,3,2,1
i chcesz, aby wszystkie liczby uporządkowane przez najbliższe 3, wynik byłby następujący: 3,2,4,5,1
.Sortuj tablicę według odległości do numeru
Próbowałem użyć uasort
i napisałem funkcję sortowania niestandardowego, aby pobrać stałą cyfrę (w tym przypadku 3), ale nie działało. Napisałem tę funkcję, aby usunąć stałą cyfrę z obecnie porównywanych dwóch cyfr i zastosować do nich abs
.
Potrzebuję sposobu, w jaki mogę porównać, która liczba porównywania, jak blisko jest bieżący numer jest dostępny i umieścić go we właściwym miejscu w tablicy.
Wszelkie pomysły? Czy można to osiągnąć za pomocą uasort
?
Byłoby 4 nie znajdować się bliżej niż 1? – Epodax
Nie rozumiem twojego "najbliżej 3", czy mógłbyś to jeszcze bardziej rozwinąć? – pacholik
3,2,4,1,5 będzie taki sam jak 3,4,2,5,1 na pewno w zamówieniu "bliskości" – PurpleSmurph