Habitats Skrevet 21. februar 2009 Del Skrevet 21. februar 2009 Hei Driver og prøver å sette meg inn i PHP, men ser at det brukes forskjellige skrivemåter når det kommer til koden. Feks en array. Skal en bruke '' eller "" rundt alternativene? 1. $names = array('Pål','Kari'); 2. $names = array("Pål","'Kari"); Og når det gjelder echo. Med eller uten parentes, "" ? 1. echo $names[0].'and'.$names[2].'kicks ass!'; 2. echo ("$names[0]".'and'."$names[2]".'kicks ass!'); På alternativ 2 brukes () rundt + at variablene har "" rundt. hva er egentlig riktig? Begge måter fungerer. På forhånd takk. Lenke til kommentar
Thomas. Skrevet 22. februar 2009 Del Skrevet 22. februar 2009 Feks en array. Skal en bruke '' eller "" rundt alternativene? 1. $names = array('Pål','Kari'); 2. $names = array("Pål","'Kari"); Det er det samme om du bruker " eller '. Bruker du ' så slipper du å escape html i stringen. Men da må f.eks varibler skrives slik, med html innimellom: <?php echo '<html>' . $variabel . '</html>'; ?> Og når det gjelder echo. Med eller uten parentes, "" ? 1. echo $names[0].'and'.$names[2].'kicks ass!'; 2. echo ("$names[0]".'and'."$names[2]".'kicks ass!'); På alternativ 2 brukes () rundt + at variablene har "" rundt. hva er egentlig riktig? Begge måter fungerer. Unødevendig med paranteser der. Det burde du kun bruke vis du skal regne med php. Lenke til kommentar
Habitats Skrevet 22. februar 2009 Forfatter Del Skrevet 22. februar 2009 (endret) Okei, takker for svar Går ut ifra at jeg ikke skal bruke " rundt variablene heller? edit: En annen ting, hvilket charset burde en bruke? Bruker jeg ISO-8859-1 blir æøå i HTML ødelagt, og bruker jeg UTF-8 fungerer det ikke i php Endret 22. februar 2009 av Habitats Lenke til kommentar
JohndoeMAKT Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 (endret) " gjør at variabler i stringen tolkes mens i en streng med ' skjer ikke det. Disse to gir altså forskjellige verdier "fargen er {$gul}" og 'fargen er {$gul}'. Enkeltfnutten (') er urelevant raskere, men jeg bruker alltid den fordi jeg skriver aldri vanlige strenger med variabeltolkning mens jeg alltid skriver SQL-setninger med variabeltolkning og dobbeltfnutt ("). I mitt IDE blir dermed SQL-setninger en annen farge enn vanlige strenger. Når det gjelder echo med eller uten parantes tror jeg parantesene blir brukt til avskilling av logiske uttrykk og ikke som parantes rundt et vanlig funksjonskall. Du kan altså skrive : echo (2*2) + 4 / (2*1.5); men parantesene er der for å avgrense uttrykkene, ikke fordi det er et funksjonskall. Jeg kan også legge til enda et sak hvor forskjellig syntaks gjør det samme og den ene er urelevant raskere. echo 'jeg er en', $fisk; er ørlite grann raskere enn echo 'jeg er en' . $fisk; Når det gjelder æøå er det i HTML HTML-entities som gjelder, som å for å og ø for ø. Bruk htmlentities( $string ) eller str_replace eller en av de mange regex-funksjonene for å erstatte inn slike. Endret 23. februar 2009 av JohndoeMAKT Lenke til kommentar
Jonas Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 (endret) Nordiske tegn fungerer utmerket i ISO-8859-1. Ta dette forumet som eksempel - se tegnkoding. Fungerer Æ, Ø og Å her? Ja, det gjør det jammen meg. Du må bare være konsekvent med å enten bruke ISO-8859-1 eller UTF-8 over alt. (Eller et annet tegnsett for den saks skyld) Endret 23. februar 2009 av Jonas Lenke til kommentar
Habitats Skrevet 23. februar 2009 Forfatter Del Skrevet 23. februar 2009 @ JohndoeMAKT: Takker for utfyllende innlegg. @ jonas: Leste du ikke det jeg skrev? Bruker jeg ISO-8859-1 blir æøå i HTML til rare tegn, og bruker jeg UTF-8 blir æøå i php scriptet til spørsmålstegn. Jeg har alltid brukt UTF-8, men jeg får det ikke til å fungere. Om du mener at det burde det, legg gjerne opp en eksempelside(kode) hvor du viser at det funker. Når det gjelder html har jeg alltid definert charset i headtagen, og går utifra at det fungerer slik med php også? Altså, slik: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> </html> Lenke til kommentar
Jonas Skrevet 23. februar 2009 Del Skrevet 23. februar 2009 (endret) Si meg, hvordan i all verden kan jeg har skrevet et svar dersom jeg ikke en gang har lest spørsmålet? Du sier du "bruker" ISO-8859-1 og jeg prøver å fortelle deg at du bruker ikke noe som helst med mindre du bruker det over alt. Jeg fatter ikke hva du vil med eksempelkode nå, men her har du litt eksempelkode. <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> </head> <body> <p>Æ, Ø og Å</p> </body> </html> Dette må naturligvis lagres og sendes som ISO-8859-1. Det holder ikke bare å definere content-type i HEAD. Endret 23. februar 2009 av Jonas Lenke til kommentar
Habitats Skrevet 24. februar 2009 Forfatter Del Skrevet 24. februar 2009 (endret) Jeg sa det ikke for å være eplekjekk eller fornærmende, beklager om det ble tolket slik. Alt jeg har lært har jeg lært ang. charset er at jeg skal sette det i head, skal jeg skrive inn dette flere steder? Når du mente overalt, trodde jeg du mente "på alle dokumenter". Så dette skal altså defineres et annet sted? I php.ini el. da eller? Jeg kjører forøvrig WAMP server på local maskin. Har aldri hatt noe problemer med å bare sette UTF-8 i header tidligere, så har aldri brydd meg noe mer om den delen der. Så kunne du forklart hva du mener med "sende som ISO-8859-1"? edit: Jeg løste det, men aner ikke hvordan. Har egentlig ikke endret noe som helst, annet enn at jeg gikk fra 4.01 til XHTML 1.0 Strict. Ser ut som om dette gjorde susen. Endret 24. februar 2009 av Habitats Lenke til kommentar
Jonas Skrevet 24. februar 2009 Del Skrevet 24. februar 2009 Med over alt mener jeg at tegnsett kan defineres flere steder. Bl.a. i meta-tags, samt hva dokumentene faktisk lagres i. Alle dokumenter må lagres i det gitte tegnsettet. Dersom du viser UTF-8 data som ISO-8859-1, så får du de karakteristiske dobble tegnene for Æ, Ø og Å. Hvordan man endrer hva man ønsker å lagre det som er forskjellig fra editor til editor, men se litt rundt i instillingene, så finner du det nok. Lenke til kommentar
TheClown Skrevet 25. februar 2009 Del Skrevet 25. februar 2009 Når vi er inne på " og ' er det galt å gjøre det slik: echo "lalalalala $variabel $array[0]"; 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å