Autor | Zpráva | ||
---|---|---|---|
Ewinko Profil |
Ak mam ARRAY a wnom premene s diakritikou..ako ich zoradit A-Z ?
Wie niekto ako sa toto kuzlo uskutocnit? Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Majkl578 Profil |
#2 · Zasláno: 19. 3. 2010, 01:16:19 · Upravil/a: Majkl578
Jakým jazykem to mluvíš? Slova "wnom" a "wie"jsem ještě ve slovenštině neviděl.
Napsal jsem na to script, půjde pravděpodobně pouze na unixu, kde bude přítomná locale 'cs_CZ.UTF-8'. Script předpokládá použití UTF-8 kódování. $data = array( 'ahoj', 'prezident', 'dobrý den', 'člověk', 'babička', 'škola', 'čokoláda', 'šátek', 'pes', 'kočka', ); function localeSort(&$ary) { if (!setlocale(LC_ALL, 'cs_CZ.UTF-8')) { throw new Exception('Locale cs_CZ.UTF-8 not found on your system'); } function _cmp($a, $b) { $a = preg_split('~~u', $a, -1, PREG_SPLIT_NO_EMPTY); $b = preg_split('~~u', $b, -1, PREG_SPLIT_NO_EMPTY); for ($i = 0, $u = count($a); $i < $u; $i++) { for ($j = 0, $v = count($b); $j < $v; $j++) { $cmp = strcoll($a[$i], $b[$j]); if ($cmp === 0) { continue; } return $cmp; } return 0; } } usort($ary, '_cmp'); } localeSort($data); var_dump($data); Pokud to budeš chtít použít, s největší pravděpodobností si to budeš muset upravit (například nastavit slovenskou locale). |
||
ewinko Profil * |
Majkl578:
Ja som myslel ze sa tu bawi o php a nie o slowencine..kazdopadne za script wdaka Moderátor nightfish: Tvůj projev je špatně srozumitelný, nepiš jak hovado.
|
||
indián Profil * |
#4 · Zasláno: 19. 3. 2010, 17:02:24
Majkl578:
Můžete prosím podrobněji vysvětlit účel cyklu ve Vaší funkci? Podle dokumentace by měla stačit funkce sort($data, SORT_LOCALE_STRING) |
||
Majkl578 Profil |
#5 · Zasláno: 19. 3. 2010, 18:41:37
indián:
Stačí. Jsem také jen člověk a také neznám všechno. Sort znám, ale konkrétně tenhle flag ne. Výsledek je stejný. |
||
Časová prodleva: 14 let
|
0