$viestit = array_reverse($viestit);
kääntää taulukon, mutta kuinka saan muuttujan arvot aakkosjärjestyksessä taulokosta?
Muokataan hieman tuota odyksen esimerkkiä:
Tuo tulostaisi ne siis tässä järjestyksessä:
0, 1, 5, C, a, d, c, ö
Tuo ei mielestäni ole aakkosjärjestys, joten miten saisin tulostettua taulukon solut aakkosjärjestyksessä, niin että isoista ja pienistä kirjaimista ei välitetä? Ja etenkin kun käytän ensin array_multisort:ia?
strtolower muuttaa isot kirjaimet pieniksi
Jos välttämättä haluaa niiden näkyvän isona, voi sortin jälkeen str_replacella muutta tiettyjen sanojen tietyt kirjaimet isoiksi. :Ð
Kyseessähän olisi nickilista, joka tulostetaan. Joten merkkien pitää olla tasan samat kuin ne oikeasti ovat. Ei taida olla mitään helppoa/valmista keinoa muuttaa ne ko. merkit sitten strtolowerin jälkeen takaisin isoiksi?
edit: Hmm, taisinkin keksiä.
edit2: Mitn keksiny...
natcasesort-funktio toimisi muuten, mutta se ei ymmärrä esim. skandinaavisten merkkien päälle. Teemmekin ikioman vertailufunktion nimeltä aakkoset, joka järjestää listan aakkosiin, oli mukana isoja tai pieniä kirjaimia tai vaikka ääkkösiäkin:
<?php function aakkoset($a, $b) { if (strtolower($a) == strtolower($b)) return 0; return (strtolower($a) < strtolower($b)) ? -1 : 1; } $array = Array ("C", "ö", "a", "d", "c", "0", "5", "1"); usort ($array, "aakkoset"); print_r ($array); ?>
Lopputulos:
Array ( [0] => 0 [1] => 1 [2] => 5 [3] => a [4] => C [5] => c [6] => d [7] => ö )
Noniin, kiitos Laaksonen. Sain sen toimimaan. =]
Joo, kiitti hyvästä koodipätkästä. :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.