Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sortiranje niza latiničnih stringova

[es] :: PHP :: sortiranje niza latiničnih stringova

[ Pregleda: 2429 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

hpamd
nezaposlen

Član broj: 279585
Poruke: 3
92.244.146.*



Profil

icon sortiranje niza latiničnih stringova13.02.2011. u 00:40 - pre 160 meseci
Zanima me da li postoji funkcija za sortiranje ovakvog niza slična funkciji sort() .

npr.
$niz = array('Čičak','Šapa','Đevrek');

Pozdrav i hvala.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.rs.



+33 Profil

icon Re: sortiranje niza latiničnih stringova13.02.2011. u 09:53 - pre 160 meseci
Pa ako pogledaš šta piše u manual-u te funkcije, videćeš da njoj možeš da proslediš i drugi parametar - $sort_flags, kojim možeš da podesiš način na koji će se vršiti poređenje. Obrati pažnju šta piše za taj SORT_LOCALE_STRING flag. Imajući to u vidu, ti bi prvo trebao da promeniš trenutni locale, izvršiš sort funkciju sa tim flag-om, i onda vratiš stari locale. Nikad nisam probao neki sličan zahvat, ali pretpostavljam da bi ovako nešto trebalo da uspe:
Code:
$niz = array('Čičak','Šapa','Đevrek');

$trenutniLocale = setlocale(LC_COLLATE, '0');
setlocale(LC_COLLATE, 'sr_SR.utf8');

sort($niz, SORT_LOCALE_STRING);

setlocale(LC_COLLATE, $trenutniLocale);
 
Odgovor na temu

hpamd
nezaposlen

Član broj: 279585
Poruke: 3
92.244.144.*



Profil

icon Re: sortiranje niza latiničnih stringova13.02.2011. u 10:47 - pre 160 meseci
Probao sam na taj nacin.
Radi samo kad upoređuje slova sa 'kukicom'. Kad se miksuju slova ne radi kako treba.Prvo sortira slova bez 'kukice' a zatim slova sa kukicom.
npr:
$niz = array('P','Čč','Žž','Šš');
nakon sortiranja vraća
P
Čč
Šš
Žž

A trebao bi da vrati
Čč
P
Šš
Žž

Unapred hvala na odgovoru
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: sortiranje niza latiničnih stringova13.02.2011. u 11:25 - pre 160 meseci
U pitanju je windows na kome ti je server, je li tako? Kod manuala funkcije setlocale pise

Citat:
Windows users will find useful information about locale strings at Microsoft's MSDN website. Supported language strings can be found at » http://msdn.microsoft.com/libr...html/_crt_language_strings.asp and supported country/region strings at » http://msdn.microsoft.com/libr.../html/_crt_country_strings.asp.


Medjutim, kad odes na te adrese, tamo nema ni Srbije, ni Hrvatske, BiH i ostalih zemalja, pa pretpostavljam da to nije podrzano pod windows OS.

Slican kod sam ranije probao pod Linux serverom i tamo se bez problema dobija sortiranje (samo sam ja umesto LC_COLLATE koristio LC_ALL
, i pogledao sam koji locale su podrzani shell komandom locale -a, i u mom slucaju sam koristio sr_RS)
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

hpamd
nezaposlen

Član broj: 279585
Poruke: 3
92.244.144.*



Profil

icon Re: sortiranje niza latiničnih stringova13.02.2011. u 17:39 - pre 160 meseci
Jeste koristim XAMPP na win7.
Hvala na pomoci.
 
Odgovor na temu

[es] :: PHP :: sortiranje niza latiničnih stringova

[ Pregleda: 2429 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.