RC1 Skrevet 11. mars 2007 Del Skrevet 11. mars 2007 Går det ann å ha flere IF tilstander i samme syntax? F.eks. if ($variabel1 == "etellerannet" og $variabel2 >= "etellerannet") { $variabel3 = "etellerannet" } Lenke til kommentar
ilpostino Skrevet 11. mars 2007 Del Skrevet 11. mars 2007 det nederste eksempelet på denne siden gir deg en pekepinn på hvordan det kan gjøres. Lenke til kommentar
magikern Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 (endret) antar du tenker på noe alla dette (som går helt fint av ja) PHP if ($variabel1 == "etellerannet" && $variabel2 => "etellerannet") { $variabel3 = "etellerannet"; } Du kan jo lese litt mer om bitwise og logical operators på: http://no.php.net/manual/en/language.operators.logical.php http://no.php.net/manual/en/language.operators.bitwise.php Edit: skrev vist litt feil først der ja... Endret 12. mars 2007 av magikern Lenke til kommentar
Runar Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 Jeg tror du også kan skrive AND og OR, i stedet for && og ||. Lenke til kommentar
CruellaDeVille Skrevet 12. mars 2007 Del Skrevet 12. mars 2007 Og så har du min favoritt - trinære operatorer: $variabel3 = $variabel1='ettellerannet' && $variabel2='noeannet' ? 'ennyvariabel : ""; Da blir første ledd av operatoren tilordning hvis vilkår er true, andre del, etter : blir hvis tilordning er false. Syntaks er variabelnavn = vilkår ? true : false Lenke til kommentar
Ernie Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 Jeg tror du også kan skrive AND og OR, i stedet for && og ||. 8134746[/snapback] Jepp, men man skal være litt varsom med AND og OR siden PHP er av de språkene hvor de har lavere presidens enn && og ||. Bruk av AND og OR kan gi bugs som er høyst vanskelig å se. Lenke til kommentar
jorgis Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 Jeg tror du også kan skrive AND og OR, i stedet for && og ||. 8134746[/snapback] Jepp, men man skal være litt varsom med AND og OR siden PHP er av de språkene hvor de har lavere presidens enn && og ||. Bruk av AND og OR kan gi bugs som er høyst vanskelig å se. 8143940[/snapback] Derfor er det en god regel å gruppere ting med paranteser, selv om det ikke er høyst nødvendig. Eksempel: PHP <?php if ($this->todo == 'new_reply' || $this->todo == 'new_topic' && $this->user->g_create_new_posts == 0) { error_msg($this->lang->cant_post); } ?> Hva kodesnutten skal gjøre, er å sjekke om brukeren har rettigheter til å skrive nye innlegg, men bare hvis handlingen er new_reply eller new_topic. Feilen ligger i manglende gruppering, og med ang gang handlingen er new_reply vil hele if-setningen bli evaluert som sann (alt etter || vil ikke gjøres, da det er nok at første er sann). Resultatet er at ethvert forsøk på nytt svar gir feilmelding om manglende rettigheter til å skrive innlegg, uavhengig av brukernivå. Fikset eksempel: PHP <?php if (($this->todo == 'new_reply' || $this->todo == 'new_topic') && $this->user->g_create_new_posts == 0) { error_msg($this->lang->cant_post); } ?> 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å