RC1 Skrevet 11. mars 2007 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" }
ilpostino Skrevet 11. mars 2007 Skrevet 11. mars 2007 det nederste eksempelet på denne siden gir deg en pekepinn på hvordan det kan gjøres.
magikern Skrevet 12. mars 2007 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
Runar Skrevet 12. mars 2007 Skrevet 12. mars 2007 Jeg tror du også kan skrive AND og OR, i stedet for && og ||.
CruellaDeVille Skrevet 12. mars 2007 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
Ernie Skrevet 13. mars 2007 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.
jorgis Skrevet 13. mars 2007 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); } ?>
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å