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
460
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
PropsApp Koodi
Haluatko ansaita ja kilpailla fiksusti samalla kun seuraat urheilua? Props tekee sen mahdolliseksi. Sovelluksessa pääset23468Persut yrittävät epätoivon vimmalla
kiertää häirintä asian https://www.iltalehti.fi/politiikka/a/5389f072-60d9-4ef8-aa7b-c11f0eda66cf jonka muut puolueet a723221"Skandaali muhii SDP:ssä" - "pelon ilmapiiri vallitsee"
Puolueen johto on vähintään vastuussa ilmapiiristä, jossa häirinnän uhrit eivät ole saaneet ääntään kuuluviin. Vyyhdin462748IL: "Kyykyttämistä, alistamista, painostamista, huutamista ja tiuskimista SDP:n
eduskuntaryhmässä." Häirintäkohu puolueen ympärillä paisuu. Iltalehden haastattelemien SDP-lähteiden mukaan eduskunta-542578Riikka runnoo: konkursseja eniten 30 vuoteen
Vuonna 2025 Suomessa haettiin konkurssiin yhteensä 3 906 yritystä. Konkurssiluku oli suurin sitten vuoden 1996.892397Taas nuoren kuolema
Vasunmäentiellä paha onnettomuus. Nuori nainen menehtyi. Niiin sydäntä riipaisevaa 😭291280Jari Sillanpää isossa leikkauksessa - Paljastaa, mitä uralle tapahtuu!
Palaako Siltsu keikoille? Artisti, ex-tangokuningas Jari Sillanpää on ollut lonkkaleikkauksessa ja kotiinpaluu on edessä211197- 931155
Raamatun kanta homoseksuaaliseen käytökseen on selvä
On oma mielipiteesi mikä tahansa on hyvä muistaa, mikä on Jumalan mielipide. Edelliset ketjut ovat tulleet täyteen joten3371053Hämmentävä muutos tv:ssä: Roope Salminen OUT, Sointu Borg IN!
Roope OUT, Sointu IN! Mitä tykkäät tästä muutoksesta? Suositun Myyrä-seikkailusarjan alusta asti juontohommissa on oll14946