Chapitre
2 - Le Langage
2) Structures
de contrôle et langage procédural
a) Définition
Une structure permet de donner un rythme à
votre programme, elle comprend les conditions, les boucles qui vont
donner du sens à un programme.
b) La structure conditionnelle:
Une structure conditionnelle permet d'executer
des instructions si une condition est remplie, c'est-à-dire
si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot
clé true à 1 et false à 0).
Ainsi nous allons passer en revue les instructions
dites conditionnelles:
L'instruction "if"
Cette instruction permet au script de s'executer
seulement si une condition que vous avez défini a été
réalisé.
Exemple:
<?
$variablea="terre";
if
($variablea=="terre"){print
"Vous êtes sur Terre";}
?>
Ce script montre que si et seulement si la variablea
vaut terre le script affichera "Vous êtes sur Terre".
Il est possible de mettre plusieurs conditions
en utilisant les opérteurs ET et OU (&& et ||) .
L'instruction "elseif"
Cette instruction permet d'ajouter une deuxième
condition au script avant que le script n'affiche l'instruction
"else".
Exemple:
<?
$variablea="terre";
if
($variablea=="terre"){print
"Vous êtes sur Terre";}
elseif
($variablea=="mars"){print"Vous
êtes un Marsien";} else{print
"Vous êtes de la planète
$variablea??";}
?>
Nous avons posé la condition que si éventuellement
variablea est de mars le script affiche "Vous êtes un
Marsien" et sinon on fait afficher le nom de la planète.
En gros il faudrait lire :
si .....alors ...
sinon, si..... alors.....
sinon ......
L'instruction "Switch"
L'instruction switch
s'apparente pour beaucoup à la clause "elseif"
mais est nettement plus simple à rédiger et peut
ensuite permettre un developpement plus simple du script.
Exemple:
<?
$variablea="terre";
switch
($variablea)
{ case
"terre": print "Vous
êtes de la Terre"; break;
case
"mars": print"Vous
êtes marsien"; break;
default: print
"Vous êtes de la planète $varaiblea";}
?>
La différence est simple, nous indiquons
quelle variable va être sous condition : switch
($variablea)
Ensuite avec les instruction case
break; nous mettons des conditions et les instructions en
rapport. Le mot clé default
précède la liste d'instructions qui sera exécutée
si l'expression n'est jamais égale à une des valeurs.
c) Les structures itératives:
Une structure itérative permet d'exécuter
en boucle des instructions selon certaines conditions.
La boucle for
for exécute
le bloc d'instruction un nombre précis de fois.
Exemple:
<?
for
($i=0; $i<=10;
$i++;)
{
echo $i;
}
?>
La boucle commence à 0 (i=0) puis test tant
que la variable est inférieur ou égal à 10 (tant que i<=10
) si la condition est vérifiée la bouche
incrémente i (i++).
Ainsi nous verrons sur l'écran
012345678910
La boucle while:
Cette boucle se traduit de la façon suivente.
tant que la condition est vérifiée il incrémente
i. C'est le terme tant que qui est important.
Exemple:
<?
$i=0;
while ($i
<= 10)
{
echo $i;
i++;
}
?>
Nous aurons donc le même résultat
que la bouche for précédente.
La boucle do:
La boucle do exécutera le bloc d'instructions
une première fois quelle que soit la valeur de $i mais ne
répétera ces instructions que si la condition précisée
après "while" est
vraie.
Exemple:
<?
$i=0;
do
{
echo $i;
i++;
}while ($i<=10)
?>
Arrêt prématuré:
L'instruction break
permet d'arrêter une boucle (for
ou bien while).
Exemple:
<?
for
($i=1; $i<=10;
$i++) {
$z = $i-9;
if ($z
== 0) {
echo "division par 0";
break;
}
echo "1/$z<br>";
}
?>
dans notre exemple nous voulons afficher le résultat
de l'opération ( 1/$z)
à savoir la variable z équivaut à ($i-9).
Mais comme nous le savons tous une division par
0 est impossible donc nous devons préciser que si z =0 l'opération
ne peut se faire.
- Soit nous stoppons la boucle : break
- Soit nous choisissons une solution de secour:
<?
for
($i=1; $i<=10;
$i++) {
$z = $i-9;
if ($z
== 0) { $z=1;
}
echo "1/$z<br>";
}
?>
|