Programmera i PHP/PHP, SWITCH

Från Wikibooks


En switch är litet speciell. Tänk dig att du har ett manöverbord framför dig med en mängd strömbrytare. Varje kommando är en strömbrytare som kan tända en lampa beroende på omständigheterna.

Anta att vi gör ett enkelt spel. Rödluvan skall gå runt i en skog och försöka hitta till farmor. När man trycker på en piltangent går rödluvan i den riktningen. Då kan man använda en switch. variabeln $user_command kan vara norr, öster, söder eller väster vilket vi förkortar till n, e, s och w för enkelhetens skull.

 switch($user_command)
 {
   case 'n':
     go_north();
     break;
   case 'e':
     go_east();
     break;
   case 's':
     go_south();
     break;
   case 'w':
     go_west();
     break;
   default:
     do_something_else();
     break;
 }

Om man skickar någon av de fyra väderstrecken går rödluvan åt det hållet. Vi antar att det finns olika funktioner som aktiveras beroende på riktningsval. Om man klickar på någon annan bokstav aktiveras istället funktionen do_something_else(); vilket kan vara att rödluvan slänger sig på marken och skriker i frustration, eller något annat du väljer att programmera in.

break är ett speciellt kommando som bryter switchen just där. Utan break skulle nämligen kommandona med sina funktioner aktiveras i den ordning man skrivit i och det skulle inte vara bra. Hade man skickat in ett n i switchen skulle samtliga funktioner aktiveras i ordningsföljd utan break-kommandot.

Litet snabbt inser du att det nedersta breaket inte behövs, men ta med det ändå, för säkerhets skull och för att standarden säger att du skall det.