switch
Het
switch
statement
is
gelijk
aan
een
serie
van
IF
statements
met
dezelfde
expressie
.
Op
veel
plaatsen
zul
je
dezelfde
variabele
(
of
expressie
)
willen
vergelijken
met
meerdere
waardes
,
en
zul
je
een
stuk
code
willen
uitvoeren
,
dat
afhangt
van
de
waarde
waarmee
de
expressie
overeenkomt
.
Dit
is
precies
waar
het
switch
statement
voor
is
.
De
volgende
twee
voorbeelden
zijn
twee
verschillende
manieren
om
hetzelfde
te
doen
,
de
één
met
een
serie
if
statements
,
de
andere
met
behulp
van
het
switch
statement
:
Het
is
belangrijk
om
te
begrijpen
hoe
het
switch
statement
precies
werkt
om
fouten
te
voorkomen
.
Het
switch
statement
voert
regel
voor
regel
(
eigenelijk
,
statement
voor
statement
)
uit
.
In
het
begin
wordt
er
geen
code
uitgevoerd
.
Alleen
als
er
een
case
statement
wordt
gevonden
met
een
waarde
die
overeenkomt
met
de
waarde
van
de
switch
expressie
begint
PHP
met
het
uitvoeren
van
statements
.
PHP
gaat
net
zolang
door
met
het
uitvoeren
van
statements
tot
het
einde
van
het
switch
blok
,
of
totdat
het
voor
de
eerste
keer
een
break
statement
tegenkomt
.
Als
je
geen
break
statement
gebruikt
aan
het
einde
van
de
statement
list
die
bij
de
"
case
"
hoort
,
zal
PHP
doorgaan
met
het
uitvoeren
van
statements
die
bij
volgende
cases
horen
.
Zie
het
volgende
voorbeeld
:
Als
in
het
bovenstaande
voorbeeld
$i
gelijk
is
aan
0
,
zal
PHP
alle
print
statements
uitvoeren
!
Als
$i
gelijk
is
aan
1
,
dan
zal
PHP
de
laatste
twee
print
statements
uitvoeren
.
Alleen
als
$i
gelijk
is
aan
2
,
krijg
je
het
'
gewenste
'
resultaat
,
dan
wordt
namelijk
alleen
het
laaste
print
statement
uitgevoerd
.
Het
is
dus
belangrijk
om
geen
break
statements
te
vergeten
.
(
Onder
bepaalde
omstandigeheden
kan
het
weglaten
van
de
break
statements
juist
wel
nuttig
zijn
,
zoals
het
voorbeeld
hieronder
laat
zien
.
In
een
switch
statement
,
wordt
de
conditie
maar
één
keer
geevalueerd
,
vervolgends
wordt
de
uitkomst
van
deze
evaluatie
vergeleken
met
de
verschillende
case
statements
.
Bij
een
elseif
statement
wordt
de
conditie
per
elseif
geevalueerd
.
Dit
betekent
dat
je
,
als
je
een
gecompliceerde
evaluatie
hebt
,
het
gebruik
van
een
switch
statement
wellicht
sneller
zou
werken
.
De
statement
list
voor
een
case
kan
ook
leeg
zijn
,
op
deze
manier
zal
de
controle
meteen
worden
doorgegeven
aan
de
volgende
case
:
De
default
case
is
een
speciale
.
Deze
case
matched
met
alles
dat
niet
is
gematched
door
eerdere
cases
.
Bijvoorbeeld
:
De
case
expressie
mag
elke
expressie
zijn
die
evalueerd
toe
een
simpel
type
,
dit
zijn
integers
,
floating-point
getallen
en
strings
.
Array
'
s
en
objecten
kunnen
hier
niet
voor
worden
gebruikt
.
De
alternative
syntax
voor
control
structures
wordt
ook
ondersteund
voor
switches
.
Voor
meer
informatie
,
zie
Alternatieve
syntax
voor
control
structures
.