Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Nimien aakkostaminen

Sivun loppuun

Jesse.e [07.02.2004 16:54:54]

#

Minulla On Ongelma.... (wou)
Millä Saisin "data.txt" tiedostossa olevat tiedot aakkosjärjestykseen?

data.txt:
-----------------------------------------------------------
Jesse.e|1990|Vantaa|7/02/04|
outo|1990|Vantaa|7/02/04|
.:tuisku:.|1990|Vantaa|7/02/04|
aapo|1990|Vantaa|7/02/04|
!-!-kaisu-!-!|1990|Vantaa|7/02/04|
-----------------------------------------------------------

Kuinka saisin nimet (ekana) aakkosjärjestykseen silleen et se ei laittais isoi kirjaimii ekaks ja sillee et toi " .:tuisku:. " ei ois siin mis piste vaa siin jossa kuuluis olla "t".

Oli varmaan epäselvää? mut joka tapauksessa.

Draiz [07.02.2004 16:59:26]

#

TÄ? Siis jos haluut tekstitiedoston aakkosjärjestykseen niin näin:

<?php
    $data = sort(file("tiedosto.txt"));
    //tähän vaikka print_r($data);
?>

Jesse.e [07.02.2004 18:25:03]

#

Joo tollee.
Mut Sit viel et se ei laita niit isol kirjaimel alkavii nimii ekoiks vaa sinne sekaan.
ja et jos nimi alkaa vaik pisteel tai muulla erikoismerkil ni se ei aakkosta sen mukaan vaan ekan kirjaimen mukaan

Olga [07.02.2004 22:02:33]

#

Eihän ne sitten ole enää aakkosjärjestyksessä. Harvoinpa olen nähnyt että moiset erikoismerkillä alkavat ovat aakkosjärjestyksessä olevissa listoissa muiden keskellä... alussa tai lopussa ne yleensä ovat.

Antti Laaksonen [08.02.2004 00:10:24]

#

Oman vertailun tekeminen on aina mahdollista, tässä on esimerkki asiasta.

<?php

//tätä funktiota käytetään apuna lajittelussa
function vertailu($a, $b) {
    //muutetaan kaikki kirjaimet pieniksi vertailussa
    $a = strtolower($a);
    $b = strtolower($b);
    //merkit, joita ei huomioida sanassa
    $pois = ".:!";
    //poistetaan edelliset merkit vertailusta
    for ($i = 0; $i < strlen($pois); $i++) {
        $a = str_replace($pois[$i], "", $a);
        $b = str_replace($pois[$i], "", $b);
    }
    //palautetaan vertailun tulos
    if ($a == $b) return 0;
    return ($a < $b) ? -1 : 1;
}

//laitetaan tiedot taulukkoon
$tiedot = array("..kake..", ":Pepe", "!!!Eikka", "lari");

//lajitellaan tiedot
usort($tiedot, "vertailu");

//tulostetaan tiedot
print_r($tiedot);

?>

Jesse.e [08.02.2004 08:52:19]

#

Kiitti. Toi Tuntuu Toimivan.

Jesse.e [21.02.2004 15:47:07]

#

Joo. Viel lisäystä.
Eli saisko ton saman koodin toimimaan niin että se aakkostas noi rivit syntymävuoden (tokana) mukaan?

Jesse.e [21.02.2004 18:05:10]

#

joo sori. meni väärin.
täs on oikee versio:
Eli saisko ton saman koodin toimimaan niin että se aakkostas noi rivit asuinpaikan (kolmas) mukaan?

leftover [21.02.2004 18:45:08]

#

explode ja array_multisort toimivat ystävinäsi...

Sharph [21.02.2004 19:10:28]

#

Ja muokkaa-nappi myös :)

Juhis [21.02.2004 20:00:56]

#

Ja ohjelmointiputkan mukavat peelot ;)

tsuriga [21.02.2004 20:21:33]

#

Eikös muokkausnappi ole effektiivinen ½h, Topi91.

sooda [21.02.2004 20:33:43]

#

lainaus:

Eikös muokkausnappi ole effektiivinen ½h, Topi91.

missä sä näet ½h:n???

tsuriga [21.02.2004 20:53:25]

#

huh? Mietin et jos Topi91 viittas Jessen kahteen perättäiseen viestiin niin niitten välil on menny yli puol tuntia. Muistelen vaa et muokkausaika ois 30min?

sooda [21.02.2004 20:54:25]

#

jaa. on se.

Jesse.e [22.02.2004 08:48:26]

#

No joo. Tos on se et eka en huomannu tota virhet ja kun tulin kattoo oisko vastattu ni huomasin.

Mut saisko tota muutettuu mitenkää sillee?
Ja vastaus mielellään koodi muodossa.

tsuriga [22.02.2004 16:08:54]

#

No huh huh ei oo paljon erilainen kun nimien mukaankaan järjestys, koodaa itte.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta