$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.