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

470

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

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      66
      4112
    2. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      66
      3822
    3. Kiva kun SDP alkaa hallitsemaan Suomea

      Vanhat hyvät ajat taas palaavat ja kansa vaurastuu. Muistatteko vielä Sorsan aikakauden? Silloin Suomessa tehtiin jopa
      Maailman menoa
      112
      3678
    4. SDP:n lyhyt selviytymisopas

      1. Komitea on vastaus, oli kysymys mikä tahansa Jos maailma on muuttumassa tai jossain palaa, demari ei hätiköi. Ensin p
      Maailman menoa
      66
      3028
    5. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      75
      2880
    6. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      62
      2329
    7. Keskisen kyläkaupassa Temun vaatteita myynnissä?

      Siis mitä? Miksi siis ei itse tilaisi Temusta samoja.
      Maailman menoa
      61
      1650
    8. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      41
      1205
    9. Nanna Karalahti :Paljastus bisneksistä Jere Karalahden kanssa!

      Ottanut yhteyttä seiskalehden toimittajaan ja kertonut totuuden yhteisestä Herotreeni-nimisestä verkkovalmenuksesta.
      Kotimaiset julkkisjuorut
      127
      1188
    10. Toivoisitko

      Toivoisitko, että kaivattusi olisi introvertimpi tai extrovertimpi? Itsenäinen tai tarvitsisi enemmän apua/sinua? Osoit
      Ikävä
      117
      1182
    Aihe