![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 24.04.2003 Skąd: Chorzów Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki oto problem. Był on już poruszany wiele razy na różnych forach zwiazanych z php jednak nie moge poradzic sobie z nim i może przedstawie go i napiszę o co mi chodzi. Stworzyłem sobie wielowymiarową tablicę $tab_absent[] foreach ($tab_days as $key => $val) { $tab_absent[] = array('user' => $value_workers, 'section' => $section, 'date' => $val); } Zmienne $value_workers przyjmują wartości nazwisk które zawierają polskie litery. Chciałbym teraz móc sortować tablicę $tab_absent[] rosnąco lub malejąco wg. nazwisk. Wiem, że można to zrobić za pomocą funkcji multisort w następujacy sposób: foreach ($tab_absent as $ind => $val) { $tab_user[$ind] = $val['user']; $tab_section[$ind] = $val['section']; $tab_date[$ind] = $val['date']; } if ($order_by == 'user' && $sort_order == 'ASC') { array_multisort($tab_user, SORT_ASC, $tab_section, SORT_ASC, $tab_date, SORT_ASC, $tab_absent); } elseif ($order_by == 'user' && $sort_order == 'DESC') { array_multisort($tab_user, SORT_DESC, $tab_section, SORT_ASC, $tab_date, SORT_ASC, $tab_absent); } Skrypt działa jednak nie do końca. Nazwiska z polskimi literami zawsze brane sa na koniec listy. Wykorzystywałem funkcję setlocale => setlocale(LC_ALL, 'pl_PL', 'pl', 'Polish_Poland.28592'); jednak nic to nie dało. Czytałem, że taką funkcję sortowania trzeba stworzyć samemu jednak nie wiem jak to zrobić. Proszę o pomoc w tej sprawie. Oczekując na odpowiedz, pozdrawiam i z góry dziękuję ![]() Luv |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:02 |