taulukon alkio

stringiksi?

Mitenkähän tämä vertaaminen onnistuisi?

$tiedosto = fopen("tiedot.txt","r");
$tiedot = fread($tiedosto, filesize("tiedot.txt"));

$rivit = explode("\n",$tiedot);


Jos tulostan esim. echo rivit[0];
niin ohjelma tulostaa: nimi.

Nyt jos yritän verrata if operaattorilla rivit[0]=="nimi" niin tämä vertaaminen ei onnistukkaan. Pitääkö tuo taulukon alkio muuttaa string-muotoon ja miten se onnistuu?

6

464

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • juhakorkeapudas

      Explode funktion palauttaman taulukon elementit ovat string-muotoisia. Vika on siinä, että yrität erotella tekstitiedoston rivit rivinvaihdolla. Tee mielummin näin:

      $tiedosto = file("tiedot.txt","r");
      foreach ($tiedosto as $row) {

      if($row == "nimi"){ //tee jotain}
      else{ //tee jotain muuta}
      }

      • ei toiminut

        Tuo esimerkki ei kyllä toiminut(???)

        file() expects parameter 2 to be long

        Warning: Invalid argument supplied for foreach()

        Eli tuossa tekstiedostossa tiedot ovat eri riveillä

        aaa
        bbb
        ccc
        ddd
        eee

        Halusin tuolla explode funktiolla siis erotella nuo rivit erikseen taulukon alkioiksi ja sehän onnistui?


      • juhakorkeapudas
        ei toiminut kirjoitti:

        Tuo esimerkki ei kyllä toiminut(???)

        file() expects parameter 2 to be long

        Warning: Invalid argument supplied for foreach()

        Eli tuossa tekstiedostossa tiedot ovat eri riveillä

        aaa
        bbb
        ccc
        ddd
        eee

        Halusin tuolla explode funktiolla siis erotella nuo rivit erikseen taulukon alkioiksi ja sehän onnistui?

        Siis näin:

        $tiedosto = file("tiedot.txt");
        foreach ($tiedosto as $row) {
        if($row == "nimi"){ //tee jotain}
        else{ //tee jotain muuta}
        }


      • toimivan
        juhakorkeapudas kirjoitti:

        Siis näin:

        $tiedosto = file("tiedot.txt");
        foreach ($tiedosto as $row) {
        if($row == "nimi"){ //tee jotain}
        else{ //tee jotain muuta}
        }

        Ei kyllä tuokaan tunnu toimivan... Echolla tulostaa tuon rivin nimen, mutta edelleenkin tuo if-lause ei anna minkäänlaista tulostusta.

        $tiedosto = file("tiedot.txt");
        foreach ($tiedosto as $row) {
        echo $row;
        if($row == "nimi"){
        echo "testi";
        }

        ainoastaan tämä tulostuu
        echo $row => tulostaa: nimi


    • tällä tapaa

      Jotakin "hämärää" tuossa on, mutta mikähän mahtaa olla ongelmana tuossa "string"-tiedostojen vertailemisessa?

      Kirjoitan tiedot tiedostoon toisessa funktiossa tällä tavalla.

      • juhakorkeapudas

        Nähtävästi taulukon elementti pitää trimmata ennen vertailua, trim($rivi). Käytin tuota jossain joskus ehkä toisin, jolloin se toimi mainitulla tavalla.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      77
      5924
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      279
      4827
    3. Huono päivä

      Tänään on ollut tosi raskas päivä töissä. Tekis mieli itkeä ja huutaa. En jaksa just nyt mitään. Minä niin haluaisin ja
      Ikävä
      20
      2608
    4. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      28
      2513
    5. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      98
      1594
    6. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      17
      1461
    7. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      105
      1377
    8. Olen ihmetellyt yhtä asiaa

      Eli miksi naiset ovat niin pelokkaan tai vaitonaisen oloisia minun seurassani. Se sai minut ajattelemaan, että olen epäm
      Ikävä
      128
      1326
    9. seurakunnan talouspäällikön valinta meni perseelleen

      Nyt on ihan pakko kyseenalaistaa tuo Kemijärven seurakunnan päätös talouspäälliköstä. Valitulla ei ole talouspuolen osaa
      Kemijärvi
      109
      1284
    10. Rötösherra käräjillä

      Ähtäriläisyrityksen epärehellisyys oli niin suurta, että mies yhtiön takaa oli lähellä saada ehdotonta vankeutta. Vaikeu
      Ähtäri
      19
      1241
    Aihe