![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Szukałem w różnych miejscach ale albo nie potrafię szukać, albo nie ma tej informacji (podejrzewam jednak to pierwsze). Otóż mam taką tablicę:
Cytat [2] => Array ( [klient] => 76 [sprawa] => 185 [pracownik] => 1 [czas] => 3 [stawka] => 1142.8571428571 [zysk] => 3428.5714285714 [koszt] => 7894973.6842105 ) [3] => Array ( [klient] => 93 [sprawa] => 188 [pracownik] => 1 [czas] => 5.00 [stawka] => 300 [zysk] => 1500 [koszt] => 13158789.473684 ) [4] => Array ( [klient] => 76 [sprawa] => 179 [pracownik] => 26 [czas] => 3 [zysk] => 450 [koszt] => 15000840 ) To oczywiście jej fragment. Teraz chcę posortować tę tablicę względem pól pracownik, klient, sprawa jednocześnie. Sortowanie według jednego pola to nie problem, chodzi mi o taką funkcję, której można podać kilka elementów, po których ma sortować. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@tiraeth doczytaj manuala
![]() Cytat array_multisort() może być użyta do sortowania kilku tablic na raz lub wielowymiarowej tablicy na podstawie jednego z większej liczby wymiarów. Zachowywane są przypisania kluczy. @kszychu znalazłem to: Class: Array Multi Sort (Sort arrays considering multiple values) na PHPClasses. Nie szukałem długo więc pewnie są jeszcze inne. Ale ta powinna spełnić Twoje oczekiwania. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
@mike_mech: masz u mnie krate piwa. To jest właśnie to, czego szukałem! Dzięki.
----edit---- Jo łelkam ![]() Niech się chłodzi ![]() ~mike_mech -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Mozna tez prosciej, za pomoca usort" title="Zobacz w manualu php" target="_manual, bez zaprzegania calej klasy do "glupiego" sortowania.
-------------------- Brak czasu :/
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat(FiDO @ 2005-10-20 09:10:46) Mozna tez prosciej, za pomoca usort" title="Zobacz w manualu php" target="_manual, bez zaprzegania calej klasy do "glupiego" sortowania. Że można, to ja się domyślam. Niestety nie wiem jak. Jeśli więc wiesz i zechcesz się tą wiedzą ze mną podzielić, to będę wdzięczny. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Moze troszke sie zapedzilem.. w sumie lepiej obudowac to w klase, bo na samych funkcjach to trzeba by uzywac globali, ale da sie. Nie widzialem tamtego kodu, bo cos mi nie dziala strona logowania na phpclasses, ale podejrzewam ze klasa tamta robi troche wiecej, niz tylko to sortowanie przez co moze byc przerosnieta. I pewnie tez korzysta z usort'a.
Wersja skrocona takiego sortowania moglaby wygladac np. tak:
Oczywiscie brakuje ustalania kolejnosci itp., ale to jest wersja minimalistyczna, zeby nie zasmiecac kodu niepotrzebnymi bajerami, a byla tylko widoczna zasada dzialania. -------------------- Brak czasu :/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:52 |