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
486
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
Natomaa hyökkäsi Iraniin
Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu7163535Trump aloitti III maailmansodan tänään.
Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?3983321Suvi Lindenillä 5 366 päivän putki
Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o793134Riikka Purra lupasi Suomen kansalle 1 euron bensaa, hinta nyt 2 euroa
Vasemmistolaisen Marinin hallituksen aikana bensa ei maksanut kuin 1,3 euroa litralta. Ministerin pitäisi perustuslain m472982Mistä se kertoo
Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä362929Rakas tiedät, että toivoisin
Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja582428- 502175
- 962074
Viesti miehelle
Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise141959Nyt on sanottava että sattuu kipeästi
Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu181949