<< Retour au sommaire

 

Les embranchements conditionnels

 

 

 

Le sommaire :

  1. Introduction.
  2. L’embranchement conditionnel If.
  3. L’embranchement conditionnel Switch.

 

 

Introduction

 

Un embranchement conditionnel est une direction que va prendre l’exécution du programme selon la valeur d’une variable, ou si une condition est vraie.

Il existe deux possibilités, le If et le Switch.

 

Le If permet d’exécuter un traitement si une condition ou un groupe de conditions est vrai.

Le switch permet de choisir un traitement selon la valeur d’une variable.

 

 

L’embranchement conditionnel If

 

Voici en quelque sorte la logique du If :

Si la condition est vraie, alors faire ce traitement, sinon, faire un autre traitement.

 

Une première syntaxe :

if (Condition)

{ Traitement ; }

 

Ici, nous avons la construction la plus simple du If.

La condition est placée entre parenthèses, quant au traitement à réaliser, il est entre accolades.

Vous devriez constater d’ailleurs, que si l’expression est vraie, le traitement est réalisé, sinon, il ne se passe rien. L’exécution du programme continue son chemin en ignorant le traitement placé entre accolades.

 

 Un exemple :

<html>

<head>

<title> bonjour </title>

</head>

<body>

<?php

$Age = 7;

$Nom = "Pascal";

if ($Age<10)

{ // l'age est inférieur à 10

  echo $Nom.", tu dois toujours être à l'école primaire !"; } ?>

</body>

</html>

 

Ici, si Pascal à moins de 10 ans, le traitement est exécuté car l’expression est vraie, la condition est donc remplie.

 

La deuxième syntaxe :

if (expression)

{ Traitement1 ;}

else

{ Traitement2 ; }

 

Donc, nous prévoyons maintenant le cas de figure où l’expression est fausse.

Si l’expression est vraie, on réalise un premier traitement, sinon, on réalise un autre traitement.

 

Voici un exemple :

 

<html>

<head>

<title> bonjour </title>

</head>

<body>

<?php

$Age = 11;

$Nom = "Pascal";

if ($Age<10)

{ // l'age est inférieur à 10

  echo « $Nom, tu dois toujours être à l'école primaire !"; }

Else

{ // l'age est égal ou supérieur à 10

  echo « $Nom, si tu as bien bossé tu n'es plus en primaire !"; } ?>

</body>

</html>

 

dans cet exemple, l’expression est fausse puisque Pascal à plus de 10 ans, c’est donc le traitement du Else qui est exécuté.

 

Une troisième syntaxe :

Nous pouvons imbriquer des If dans des If !

 

if (expression)

{ if (expression)

  { traitement1 ; }

  else

  { Traitement2; }}

else

{ if (expression)

  { traitement3; }

  else

  { traitement4; }}

 

Vous devez impérativement placer le if imbriqué à l’intérieur des accolades du if qui le contient…

Le if imbriqué joue donc le rôle de traitement pour le if qui le contient. 

Voici un exemple concret :

 

<html>

<head>

<title> les if imbriqués </title>

</head>

<body>

<?php

$Sexe = "femme";

$Age = 10;

if ($Sexe="femme")

{ // Traitement pour les femmes

    if ($Age<20)

  { echo "Tu es une jeune $Sexe de $Age ans"; }

  else

  { echo "Tu es une grande $Sexe de $Age ans"; }}

else

{ // Traitement pour les hommes

  if ($Age<20)

  { echo "Tu es un jeune $Sexe de $Age ans"; }

  else

  { echo "Tu es un $Sexe mur de $Age ans"; }} ?> 

</body>

</html>

 

Dans les expressions que vous vérifiez entre les parenthèses du If, vous devez impérativement utiliser le « égal de comparaison » et non pas le « égal d’affectation ».

 

Il faut donc saisir un double égal.

Exemple :

if (variable == valeur)

{ traitement ; }

 

Pour vérifier plusieurs conditions simultanément, vous pouvez utiliser le « et » logique, donc le « and », et le « ou » logique, le « or ».

 

Le « and » oblige que toutes les expressions soient vraies.

Exemple :

If ($Age>= 18 and $Domicile==”PARIS”)

{ echo “Vous êtes un parisien majeur » ; }

Pour que le traitement soit réalisé, donc le echo, il faut impérativement que la valeur de la variable $Age soit égale ou supérieure à 18, et que la valeur de la variable $Domicile soit PARIS.

Si l’une des conditions est fausse, le traitement ne sera pas exécuté…

 

Quant à l’opérateur « or », il faut qu’au moins l’une des conditions soit vraie.

Exemple :

if ($Age>=18 or $PresenceParents== »oui »)

{ echo “Vous pouvez entrer”; }

Ici, pour que echo soit exécuter, il faut que l’une des deux conditions soit remplie. Soit l’age est supérieur ou égal à 18, soit les parents sont présents.

 

 


L’embranchement conditionnel Switch

 

Switch permet de choisir un traitement selon la valeur d’une variable. 

 

La syntaxe :

 

switch (variable) {

case valeur1 : traitement1;

break;

case valeur2 : traitement2;

break;

case valeur3 : traitement3;

break;

default : traitement4; }

 

Description :

 

Variable est la variable pour laquelle nous devons déterminer un traitement selon sa valeur.

case permet de traiter une valeur et le traitement qui en découle.

Default est le traitement à réaliser si l’ensemble des valeurs précisées par les « case » ne correspond pas à la valeur de la variable.

 

Voici un exemple !

 

<html>

<head>

<title>L'embrenchement conditionnel Switch</title>

</head>

<body>

<?php

// on compte le nombre de voyelles dans une phrase

$phrase = "Le PHP est un langage très puissant";

// On initialise une variable par voyelle afin de réaliser le comptage

$a = 0;

$e = 0;

$i = 0;

$o = 0;

$u = 0;

$y = 0;

// On initialise une variable pour le comptage des caractères autres que les voyelles

$autres = 0;

// On initialise une variable qui va contenir la taille de la phrase

// cette taille va être utilisée pour déterminer le nombre d'itération dans la boucle FOR

$nbcar = strlen($phrase);

// Création de la boucle qui va permettre de traiter les caractères de la phrase un par un

for ($compteur=0;$compteur<$nbcar;$compteur++)

{ // Extraction du caractère suivant

  $lettre = strtolower(substr($phrase,$compteur,1));

  // Utilisation de Switch pour identifier le caractère

  switch ($lettre)

  { case "a" : $a++;

  break;

  case "e" : $e++;

  break;

  case "i" : $i++;

  break;

  case "o" : $o++;

  break;

  case "u" : $u++;

  break;

  case "y" : $y++;

  break;

  default : $autres++; }}

 

// affichage de la phrase

echo $phrase."<br>";

// affichage des comptes !

echo "nombre de A : $a<br>";

echo "nombre de E : $e<br>";

echo "nombre de I : $i<br>";

echo "nombre de O : $o<br>";

echo "nombre de U : $u<br>";

echo "nombre de Y : $y<br>";

echo "nombre de consonnes : $autres »; ?>

</body>

</html>

 

Philippe BOULANGER