switch
L'
instruction
switch
équivaut
à
une
série
d
'instructions
if
.
En
de
nombreuses
occasions
,
vous
aurez
besoin
de
comparer
la
même
variable
(
ou
expression
)
avec
un
grand
nombre
de
valeurs
différentes
,
et
d
'exécuter
différentes
parties
de
code
suivant
la
valeur
à
laquelle
elle
est
égale
.
C'
est
exactement
à
cela
que
sert
l
'instruction
switch
.
Les
deux
exemples
suivants
sont
deux
manières
différentes
d'
écrire
la
même
chose
,
l'une
en
utilisant
une
séries
de
if
,
et
l'autre
en
utilisant
l
'instruction
switch
:
Il
est
important
de
comprendre
que
l'
instruction
switch
exécute
chacune
des
clauses
dans
l
'ordre
.
L
'
instruction
switch
est
exécutée
ligne
par
ligne
.
Au
début
,
aucun
code
n
'
est
exécuté
.
Seulement
lorsqu
'
un
case
est
vérifié
,
PHP
exécute
alors
les
instructions
correspondantes
.
PHP
continue
d'
exécuter
les
instructions
jusqu'à
la
fin
du
bloc
d'instructions
du
switch
,
ou
bien
dès
qu'il
trouve
l
'instruction
break
.
Si
vous
ne
pouvez
pas
utiliser
l'
instruction
break
à
la
fin
de
l
'instruction
case
,
PHP
continuera
à
exécuter
toutes
les
instructions
qui
suivent
.
Par
exemple
:
Dans
cet
exemple
,
si
$i
est
égal
à
0
,
PHP
va
exécuter
quand
même
toutes
les
instructions
qui
suivent
.
Si
$i
est
égal
à
1
,
PHP
exécutera
les
deux
dernières
instructions
.
Et
seulement
si
$i
est
égal
à
2
,
vous
obtiendrez
le
résultat
escompté
,
c'
est-à-dire
,
l'affiche
de
"i
égal
2
"
.
Donc
,
l'
important
est
de
ne
pas
oublier
l'instruction
break
(même
s'il
est
possible
que
vous
l'omettiez
dans
certaines
circonstances
)
.
Dans
une
commande
switch
,
une
condition
n'
est
évaluée
qu
'une
fois
,
et
le
résultat
est
comparé
à
chaque
case
.
Dans
une
structure
elseif
,
les
conditions
sont
évaluées
à
chaque
comparaison
.
Si
votre
condition
est
plus
compliquée
qu'
une
simple
comparaison
,
ou
bien
fait
partie
d
'une
boucle
,
switch
sera
plus
rapide
.
La
liste
de
commandes
d
'
un
case
peut
être
vide
,
auquel
cas
PHP
utilisera
la
liste
de
commandes
du
cas
suivant
.
Un
case
spécial
est
default
.
Ce
cas
est
utilisé
lorsque
tous
les
case
ont
échoués
.
Il
doit
être
le
dernier
cas
listé
.
Par
exemple
:
Une
autre
chose
à
mentionner
est
que
l'
instruction
case
peut
être
une
expression
à
de
type
scalaire
,
c
'est-à-dire
nombre
entier
,
nombre
à
virgule
flottante
et
chaîne
de
caractères
.
Les
tableaux
sont
sans
intérêt
dans
ce
contexte-là
.
La
syntaxe
alternative
pour
cette
structure
de
contrôle
est
la
suivante
:
pour
plus
d'
informations
,
voir
syntaxes
alternatives
)
.