Η εντολή «switch» είναι μια εντολή απόφασης που προσπαθεί να συντομεύσει την εντολή «if». Με την χρήση της «switch» αποφεύγουμε την χρήση πολλαπλών «if» τα οποία θα έκαναν πολύ δύσκολο τον έλεγχο του προγράμματος από την οπτική γωνία του προγραμματιστή, και συντακτικά θα ήταν δύσκολο να βρεθούν συγκεκριμένες περιπτώσεις.

Ο τρόπος σύνταξης της «switch» έχει συγκεκριμένο τρόπο και γίνεται ως εξής:

switch(μεταβλητή){
 case περίπτωση πρώτη:
  //...εντολές που εκτελούνται...
  break;
 case περίπτωση δεύτερη:
  //...εντολές που εκτελούνται στην δεύτερη περίπτωση...
 break;
 default:
  //...εντολές που εκτελούνται όταν δεν βρεθεί καμία από τις παραπάνω περιπτώσεις...
}
  • Όπου «μεταβλητή» εισάγουμε το όνομα της μεταβλητής που θέλουμε να μελετήσουμε.
  • Όπου «περίπτωση πρώτη» εισάγουμε τον έλεγχο που θέλουμε να κάνουμε σε αυτή την περίπτωση, ότι θα βάζαμε δηλαδή στις παρενθέσεις της «if». Παρομοίως για την «περίπτωση δεύτερη», «περίπτωση τρίτη» κ.ο.κ.
  • Η εντολή «break» σημαίνει ότι θα σταματήσει η php την εκτέλεση του κώδικα της «switch» στο σημείο όπου θα βρεθεί, διαφορετικά η php θα εκτελούσε όλες τις εντολές από το σημείο που βρήκε την «case» που ταιριάζει με την περίπτωση. Όλες οι εντολές για κάθε περίπτωση ξεκινούν από την άνω και κάτω τελεία του «case» και τελειώνουν στο «break».
  • Το «default» χρησιμοποιείται για όλες τις άλλες περιπτώσεις που δεν υπάρχουν σε case, είναι δηλαδή το «else» της «switch».

Παίρνοντας το παράδειγμα της ενότητας του if (jacket.php παρατηρούμε ότι ο κώδικας μας πλαισιώνεται από τρία διαφορετικά «if» τα οποία κάνουν δυσκολότερη την ανάγνωση του , καθώς επίσης και την περεταίρω διόρθωση ή ανάπτυξη. Οι γραμμές του κώδικα είναι πολλές και αν είχαμε πιο περίπλοκους ελέγχους να κάνουμε τόσο περισσότερο θα διογκώνονταν και η μάζα του παραγόμενου κώδικα. Ας δούμε το συγκεκριμένο παράδειγμα όμως εφαρμόζοντας «switch»:

<form method='get' action='temperature.php'>
 Γράψτε την θερμοκρασία που υπάρχει αυτή την στιγμή:
 <input type='text' name='temperature' />
 <input type='submit' value='Αποστολή' />
</form>
<?php
 $thermokrasia = $_GET['temperature'];
 switch($thermokrasia){
  case ($thermokrasia<15):
   echo "Πρέπει να πάρεις μπουφάν.";
   break;
  case ($thermokrasia>15 && $thermokrasia<22):
   echo "Πρέπει να πάρεις ζακέτα.";
   break;
  case ($thermokrasia>=22):
   echo "Δεν χρειάζεται να πάρεις μπουφάν.";
   break;
  default:
   echo "Δεν εισήχθηκε θερμοκρασία.";
 }
?>

Μας δίνεται μια πιο συγκεκριμένη δομή στον τρόπο με τον οποίο «εξετάζονται» οι περιπτώσεις, έτσι είναι ευκολότερη η επεξεργασία με το ανθρώπινο μάτι και συνεπώς η προσθήκη γραμμών κώδικα στο μέλλον.