Avatar billede mpj_86 Nybegynder
04. juli 2006 - 18:59 Der er 4 kommentarer og
1 løsning

if, else vs. switch?

Hej

Hvad er fordelen ved switch?

Vil i anbefale mig at jeg forfremtiden bruger switch, eller skal jeg bare forsætte med if, else?
Avatar billede michael_stim Ekspert
04. juli 2006 - 19:06 #1
switch/case bruges mange gange når samme vilkår går igen og når du har mange af dem.
switch(etVilkår){
case 1:
ditten;
break;
case 2:
datten;
break;
osv osv

er lettere end:

if(etVilkår==1){
ditten;
}
elseif(etVilkår==2){
datten;
}
osv osv.

Så er der flere, brug case. Ellers er det nok lettere med if.
Avatar billede michael_stim Ekspert
04. juli 2006 - 19:08 #2
Lidt dårligt beskrevet mht etVilkår ;o) Det skulle måske have väret enParameter. Vilkåret er jo det hele, men du forstår sikkert...
Avatar billede mpj_86 Nybegynder
04. juli 2006 - 19:17 #3
oki, tak for hjælpen.

Smid et svar...
Avatar billede michael_stim Ekspert
04. juli 2006 - 19:33 #4
Velbekomme ;o)
Tror ikke der er den store forskel på performance, når vi snakker php. Er det indbyggede system og lign. er det nok en fordel hvis man bruger case (når det vel og märket er egnet).
Avatar billede Slettet bruger
05. juli 2006 - 02:50 #5
En anden situation er når flere muligheder skal give samme resultat:

switch($brugernavn){
case "mpj_86":
  echo "Stiller gode spørgsmål";
  break;
case "sandbox":
case "michael_stim":
  echo "Forsøger at give gode svar";
  break;
default:
  echo "Ukendt bruger";
}

Eller hvis der skal være overlappende resultat:

switch($brugernavn){
case "mpj_86":
  echo "Stiller gode spørgsmål";
  break;
case "sandbox":
  echo "Halløjsa";
case "michael_stim":
  echo "Forsøger at give gode svar";
  break;
default:
  echo "Ukendt bruger";
}

Den sidste ville begynde at blive noget uoverskuelig med if-else-strukturer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester