[PHP]Problem z posortowanie tablicy |
[PHP]Problem z posortowanie tablicy |
18.06.2010, 15:57:51
Post
#1
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) |
Witajcie. Otóż chcę posortować pewną tablice najpierw po ilości punktów malejąco, a potem po bilansie też malejąco.
Kod Array ( [1] => Array ( [punkty] => 6 [bilans] => 26 [wygrane] => 2 [mecze] => 6 [przegrane] => 4 ) [2] => Array ( [punkty] => 6 [bilans] => -28 [wygrane] => 2 [mecze] => 4 [remisy] => 1 [przegrane] => 1 ) [23] => Array ( [punkty] => 3 [bilans] => -18 [przegrane] => 2 [mecze] => 4 [wygrane] => 1 [remisy] => 1 ) [24] => Array ( [punkty] => 5 [bilans] => 20 [wygrane] => 2 [mecze] => 2 ) ) Zacząłem kąbinować z funkcja ale średnio coś to mi wychodziło. Czy moglibyście mi pomóc? |
|
|
18.06.2010, 19:09:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 32 Dołączył: 21.08.2008 Skąd: Toruń Ostrzeżenie: (0%) |
Ja proponowałbym użycie funkcji usort dla której można samemu napisać funkcję porównującą.
np.:
Ten post edytował jasin 18.06.2010, 19:21:32 -------------------- |
|
|
18.06.2010, 20:00:42
Post
#3
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) |
dzięki. samo w sobie działa ale powiedz mi jeszcze jak to w klase wgrać. uasort($tablica, "nazwa_funkcji") co wpisać zamiast nazwy funkcji gdy mam ta funkcje w tej samej klasie albo jak to inaczej rozegrać?
I jeszcze jeden problem ponieważ w tablicy w kluczu było id drużyny i po sortowaniu wszystkie id zostały zastąpione kolejnymi liczbami od 0. Da sie tego jakoś uniknąc? |
|
|
19.06.2010, 09:23:17
Post
#4
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 32 Dołączył: 21.08.2008 Skąd: Toruń Ostrzeżenie: (0%) |
Używając wewnątrz klasy:
lub A id proponowałbym wrzucić jako kolejne pole w tej tablicy ponieważ usort reindexuje od nowa tablicę. -------------------- |
|
|
19.06.2010, 09:33:04
Post
#5
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) |
Zamień usort() na uksort(), to będzie bez zmiany indeksów, a resztę według rad jasina.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 11.06.2024 - 01:25 |