Gilbert Skrevet 19. juni 2004 Del Skrevet 19. juni 2004 $array_humor = file('../array/humor.txt'); if (in_array("Borte", $array_humor)) { echo "jippi"; } ..array/humor.txt : Opptatt -------- Borte På jobb På skolen -------- Allergisk Avslappet Boblende Bitter ...osv men dette funker ikke... tror noe av problemet er "På jobb" som har et mellomrom. Hva skjer egentlig her, og hvordan kan jeg få det til å ikke skje? Lenke til kommentar
[kami] Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 hvilken output får du om du skriver: print_r($array_humor); Lenke til kommentar
Gilbert Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 Array ( [0] => [1] => Opptatt [2] => -------- [3] => Borte [4] => På jobb [5] => På skolen [6] => -------- [7] => Allergisk [8] => Avslappet osv... grunnen til at jeg tror på jobb og på skolen er årsaken til feilen her, er at om jeg tar bort de to, fungerer det perfekt... Lenke til kommentar
[kami] Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 hmm, rart. Ser ut som arrayet lagres riktig så hvorfor det ikke funker med på jobb aner jeg ikke.. :/ Lenke til kommentar
Gilbert Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 nei... er en liten nøtt. har forsøkt å sette trim() rundt "Borte", dessuten forsøkt "Borte " og " Borte", mener å huske at det blir lagt til space i array av og til. men dette er rart... Lenke til kommentar
[kami] Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 kan jo hende linjeskift ligger i strengen, kan jo evt prøve å fjerne det.. eller du kan jo prøve med å traversere det... med no debug.. foreach ($array as $element) { if ($element=="Borte") echo "Jippi"; else echo "'$element' matcher ikke<br>"; } Lenke til kommentar
Gilbert Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 (endret) ' ' matcher ikke 'Opptatt ' matcher ikke '-------- ' matcher ikke 'Borte ' matcher ikke osv... edit: trim($element) fungerer!! jippi men lurer fremdeles på hva som skjedde med in_array... Endret 20. juni 2004 av fjartan Lenke til kommentar
[kami] Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 fint ser ut som det ble lagt på en ekstra " " i slutten av strengen.. om du ser etter. Er derfor in_array ikke klarer å ta dem, siden de har en ekstra space i seg... alle sammen. Lenke til kommentar
Gilbert Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 m'm... ser det nå ja. mener å huske at jeg forsøkte in_array("Borte ", $array_humor) oxo, men skitt au, hvorfor endre det som funker... Lenke til kommentar
Torbjørn Skrevet 21. juni 2004 Del Skrevet 21. juni 2004 forklaringen er enkel: hver linje i en tekstfil inneholder også et linjeskift! "Borte" vil ikke gi match i din array fordi du har elementet "Borte\n" i arrayen. dvs Borte med en linjeskift etter. trim fjerner linjeskifter så ergo fungerer det da. det beste er å beholde din tirm kode, msiden linjeskift kan være enten \r\n eller \n avhengig av platform. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå