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?
taulukon alkio
6
456
Vastaukset
- 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
Suomen markka otettiin käyttöön vuonna 1860
Suomi käytti vuoteen 1840 asti rahayksikkönään rinnakkain Ruotsin riikintaalareita ja Venäjän ruplaa. Tämän jälkeen oli499747Kaivatullesi viesti ensi vuoteen?
Kerro meneekö naiselle vai miehelle ja vähintään yksi tunniste, esim. kirjain.1075232"Mä elän vieläkin"
Ikurin turbiini vetäisi taannoin lainabiisin Topin (RIP också) ja kumppaneiden kanssa. Toivottavasti on yläkerrassa kunn594367Pate Mustajärvi on kuollut
Ihan pari tuntia sitten. Että sellaista. https://www.is.fi/viihde/art-2000011715177.html1382937Yksityinen sektori aiheuttanut Suomen taantuman
Investointien sijasta nostaneet voitot osinkoina omistajille. Ehdotan korjausliikkeenä yksityisen sektorin sosialisoimi1432718Nyt Yle otti silmätikukseen sisäministeri Rantasen
Aivan erinomaista työtä tehnyt sisäministeri Mari Rantanen on saanut paljon aikaiseksi. Maahanmuuttoon ja maahanmuuttaji1842591Miten ikinä kelpaisin sulle
Sinä saat niiltä muilta naisilta paljon enemmän, mitä minulta... Tai mihin minä olisin valmis. Enkä edes olisi niin tait281952- 201697
Edes vitamiinit eivät taanneet loputonta elämää
Nimittäin niistä rahaa itselleen taikonut tohtori siirtyi tuonpuoleiseen.371569Liikaa vauhtia
Nuorukainen 17v. on ajanut 114 km/h 60 km:n alueella Nesteen kohdalla ja onneksi poliisi oli paikalla ja hurjastelu lopp211107