Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tekstitiedoston rivien aakkostus

Sivun loppuun

Olli [22.04.2011 13:52:09]

#

Hei,

mikä olisi järkevin tapa aakkostaa PHP:tä käyttäen tiedosto joka on tätä tyyppiä:

Anselmi|Sähköpostiosoite
Olli|Sähköpostiosoite
Kalevi|Sähköpostiosoite

Haluaisin siitä seuraavanlaisen arrayn:

Array (
  [0] => Anselmi|Sähköpostiosoite
  [1] => Kalevi|Sähköpostiosoite
  [2] => Olli|Sähköpostiosoite
)

eli aakkosjärjestys tuon nimen perusteella.

Kiitoksia jo etukäteen.

The Alchemist [22.04.2011 14:03:30]

#

function cmp($a, $b) {
  return strcmp( strstr($a, '|', true), strstr($b, '|', true) );
}

$data = array('Pekka|pekka@email', 'Anna|annukka@email', 'Veijo|posti@pee', 'Reija|rauh@spost');

usort($data, 'cmp');
print_r($data);

Yksi vaihtoehto.

Grez [22.04.2011 14:03:48]

#

<?php
$taulukko = file('tiedosto');
sort($taulukko);
print_r($taulukko);

Edit: Alchemist ehtikin näköjään ensin ja parempi ratkaisu. Ajattelisin että omanikin on riittävän hyvä useimmissa tapauksissa.

Olli [22.04.2011 14:05:07]

#

sort() sotki kokonaan kokeilinkin sitä jo aiemmin. Kokeilen tuota The Alchemistin vinkkiä pian,kiitos.

The Alchemist [22.04.2011 14:08:27]

#

Nyt jotenkin vähän pätkii. Menin jo korjaamaan tuota esimerkkiäni älykkäämmäksi mutta samalla hokaisin, että kyllähän noi valmisfunktiotkin toimivat, kuten Grez esitteli jo. Jos sulla on ongelmia, niin evotat jossain muualla.

Jääkööt nyt tuohon näkyville tuo, jos joskus tarvitsee esimerkiksi sortata merkkijonon keskeltä löytyvän datan mukaan...

Grez [22.04.2011 14:08:52]

#

Olli kirjoitti:

sort() sotki kokonaan kokeilinkin sitä jo aiemmin.

En kyllä ymmärrä miten. Ehkä se meni sekaisin jo lukuvaiheessa?

Ainakin mulla toimii: http://grez.info/putka/Olli/sort.php (lähdekoodi)

Jokotai [22.04.2011 14:18:47]

#

Voisiko olla mahdollista, että tiedosto ei olekaan aivan tuota tyyppiä.

Antti Laaksonen [22.04.2011 14:28:49]

#

Tällainen tiedosto on ongelma Grezin koodille:

aa|1
aab|2

Aakkosjärjestyksessä aa on ennen kuin aab, mutta koodi järjestää ne päinvastoin, koska | on aakkosissa b:n jälkeen.

Grez [22.04.2011 14:32:21]

#

Joo, ei ollut tarkoitus sanoa, että se olisi täydellinen, mutta ei sillä täysin sekaisin pitäisi mennä.

Tässä voi tietysti hämätä, kun viestini on tuossa Alchemistin viestin jälkeen, eli voisi kuvitella että esitän sitä jotenkin parempana vaihtoehtona. Alchemistin viestiä ei ollut silloin kun omaani kirjoitin.

The Alchemist [22.04.2011 14:35:12]

#

Enpähän itsekään tainnut tiedostaa tuota ongelmaa mutten ainakaan tehnyt turhaa työtä. :))


Sivun alkuun

Vastaus

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

Tietoa sivustosta