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
500
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
Riikka ei suostu laskemaan bensan hintaa
Sanna laski esimerkiksi sähkön arvonlisäveron 10 prosenttiin, jonka Riiikka anosti 25,5 prosenttiin. Sannan aikaan bens603081Vain vasemmistohallitus saa minut menemään töihin
Änkyräkapitalistien sortaessa kansaa en laita rikkaakaan ristiin. Elän mielummin Kelan tuilla, ja jos niitä leikataan, n1332746- 1892677
EK: Suomi tarvitsee vuosittain 45 000 maahanmuuttajaa
Senpä takia Riikkakin laulaa sen lauluja kenen leipää syö. Viime vuonnahan Suomeen muutti 50 tuhatta ulkomaalaista. htt1972317Oliko se oikeasti epäselvää
sinulle että olin ihastunut sinuun? (Ymmärrän että siitä on aikaa, eikä voi olettaa että kaikkea muistaisi tai että men1251760Kristityt kastoiva alunperin upottamalla - upotuskaste annettiin vain uskoon tulleille aikuisille
Raamatussa on käännösvirhe. Kaste tulisi olla upottaa veteen, jota kreikan sana baptizo tarkoittaa. Aluseurakunta kast4581189- 85979
Muslimiyhteisö jyrähti - Kova vaatimus Orpolle ILtalehti
Eiköhän se ala olla aika pistää stoppi noille muslimien vaatimuksille Suomessa ? Ei Suomessa ole pakko oll185925- 44839
Kievarin pöydät
Minkä helvetin takia kievarissa on laitettu pöytä laulajan taakse. Siellä huutavat nuoret niin että et omaa ääntäsi kuul15802