Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie tablicy wielowymiarowej z polskimi znakami
luv
post
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ę smile.gif

Luv
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:02