Les bases

Le Langage

Fonctions

Intégration Mysql

Astuces

Hébergement
Annuaire
 

 

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>";
}


?>



© HIWIT tous droits réservés