Back

Les structures conditionnelles en PHP

Les structures conditionnelles en PHP

  1. Objectifs

    • Se familiariser avec les structures de contrôle en PHP
    • Utiliser les structures conditionnelles (if...else et switch).
  2. Présentation

    • Comme la plupart des langages de programmation, PHP vous permet également d’écrire du code qui effectue différentes actions en fonction des résultats de conditions de test logiques ou comparatives au moment de l’exécution.
    • Cela signifie que vous pouvez créer des conditions de test sous la forme d’expressions qui évaluent à true ou false et en fonction de ces résultats, vous pouvez effectuer certaines actions.
    • Il existe plusieurs instructions en PHP que vous pouvez utiliser pour prendre des décisions:
      • L’ instruction if
      • Les instructions if ... else et if ... elseif .... else
      • L’opérateur ternaire : ?
      • L’opérateur de fusion nul ??
      • L’ instruction switch ... case
    • Nous explorerons chacune de ces affirmations dans les sections suivantes.
  3. L’instruction if

    • L’ instruction if est utilisée pour exécuter un bloc de code uniquement si la condition spécifiée est évaluée à true.
    • L’instruction if est la plus simple et la plus utilisée des instructions conditionnelles.
    • Elle est présente dans tous les langages de programmation, elle est essentielle en ce qu’elle permet d’orienter l’exécution du script en fonction de la valeur booléenne d’une expression.
      • Syntaxe:
        • if (expression) instruction;
        • ou
        • if (condition){
          
          expression vraie;
          } else {
          expression fausse;
          } 
        • ou encore
        • if (condition) {
              code à exécuter si cette condition est vraie;
          } elseif (condition) {
              code à exécuter si cette condition est vraie;
          } else {   
              code à exécuter si toutes les conditions sont fausses;
          }
        • L’instruction if...else permet de traiter le cas où l’expression conditionnelle est vraie et en même temps d’écrire un traitement de rechange quand elle est évaluée à FALSE, ce que ne permet pas une instruction if seule.
        • L’expression if ... elseif ... else permet d’enchaîner une série d’instructions et évite d’avoir à imbriquer des instructions if.



        • La condition doit être entre des parenthèses
        • Les opérateurs (&& et ||) sont utilisées pour définir plusieurs conditions
        • S’il n’y a qu’une instruction, les accolades ne sont pas nécessaires…
      • Exemple
        • <?php
          $d = date("D");
          if($d == "Fri"){
              echo "Bon week-end!";
          } else{
              echo "Bonne journée!";
          }
          ?>
  4. Les instructions if...else et if...elseif...else

    • Le if ... elseif ... else est une instruction spéciale qui est utilisée pour combiner plusieurs instructions if ... else .
    • Syntaxe
      • if (condition1) {
            // Code à exécuter si condition1 est vraie
        } elseif (condition2) {
            // Code à exécuter si la condition1 est fausse et la condition2 est vraie
        } else {
            // Code à exécuter si condition1 et condition2 sont faux
        }
    • Exemple
      • L’exemple suivant affichera “Passez un bon week-end!” si le jour actuel est vendredi, et “Passez un bon dimanche!” si le jour actuel est dimanche, sinon il affichera “Passez une bonne journée!”
      • <?php
        $d = date("D");
        if($d == "Fri"){
            echo "Bon week-end!";
        } elseif($d == "Sun"){
            echo "Bon dimanche!";
        } else{
            echo "Bonne journée!";
        }
        ?>
    • Applications
      • App01
        • Énoncé
          • Créez le squelette d’une page Web classique (entête, corps, etc.) que vous sauvegardez sous le nom applicationif.php.
          • Affichez dans cette page la chaîne de caractères "Bienvenue à notre programme en Php".
          • Affichez le prix net d’un ordinateur après une remise variable en fonction du prix de ce dernier selon les critères suivants :
            • Si le prix est supérieur à 2000 DT, la remise est de 15 %.
            • Si le prix est supérieur à 1000 DT, la remise est de 10 %.
            • Pour les montants inférieurs ou égaux à 1000 DT, la remise est de 5 %.
        • Solution
          • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
      • App02
        • Énoncé
          • Dans une nouvelle page PHP écrire le script qui vous permet, en fonction de l’heure de votre système, d’afficher ces messages :
            • à 12h: Bonne matinée Monsieur “Foulen”
            • à 14h: Bonne appétit Monsieur “Foulen”
            • à 19h: Bonne après midi Monsieur “Foulen”, sinon Bonne soirée Monsieur “Foulen”
          • Pour afficher une date en Php utiliser la fonction “date('h:i:s')
          • Le résultat du travail doit ressembler au schéma suivant:
          • Les structures conditionnelles en PHP

        • Solution
          • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
      • App03
        • Énoncé
          • Dans une nouvelle page PHP écrire le script qui vous permet, en fonction de la date de votre système, d’afficher le jour de la semaine en langue Française “Bonjour ‘le nom de votre ordinateur’ nous somme le ‘le jour de la semaine”.
        • Solution
          • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
      • App04
        • Énoncé
          • Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer et afficher un message d’erreur si la lettre pèse plus de 500 grammes
          • Les structures conditionnelles en PHP

        • Solution
          • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  5. Utiliser des opérateurs logiques

    • Il existe 3 opérateurs logiques pour relier les conditions:
      • AND (ou &&) : Vérifie que les conditions sont toutes vraies.
      • OR (ou ||) : Vérifie qu’une des conditions au moins est vraie.
      • XOR : Vérifie qu’une seule des conditions est vraie mais pas toutes.
      • NOT se représente par un point d’exclamation “!

      Exemple:

      if (($mois == 12 && $jour == 25)||($mois == 1 && $jour == 1)){
      echo 'Jour de fête !';
      }
      
    • Applications
      • App01
        • Énoncé
          • Écrire un script PHP qui demande de saisir une lettre (prédéfinie dans une variable) et qui affiche si c’est une voyelle ou une consonne…
        • Solution
          • Essayez de faire l’exercice de votre côté avant de regarder la Solution !
  6. Utiliser un opérateur ternaire

    • L’opérateur ternaire fournit une manière abrégée d’écrire les instructions if ... else.
    • L’opérateur ternaire n’est rien de plus qu’une instruction if, qui peut être écrite sur une seule ligne, est essentiellement un raccourci if else .
    • L’opérateur ternaire est représenté par le symbole ? point d’interrogation ( ) et il prend trois opérandes: une condition à vérifier, un résultat pour true et un résultat pour false.
    • Il est possible de faire un test avec une structure beaucoup moins lourde grâce à la structure suivante, appelée opérateur ternaire :
    • L’opérateur ternaire est un raccourci pour la if {} else {} structure.

      • Syntaxe:
      • (condition) ? instruction si vrai : instruction si faux
        • La condition doit être entre des parenthèses
        • Lorsque la condition est vraie, l’instruction de gauche est exécutée
        • Lorsque la condition est fausse, l’instruction de droite est exécutée
      • Exemple:
        • <?php
          if($age < 18){
              echo 'Enfant'; // Afficher l'enfant si l'âge est inférieur à 18 ans
          } else{
              echo 'Adulte'; // Afficher Adulte si l'âge est supérieur ou égal à 18 ans
          }
          ?>
        • En utilisant l’opérateur ternaire, le même code pourrait être écrit de manière plus compacte:
        • <?php echo ($age < 18) ? 'Enfant' : 'Adule'; ?>
        • L’opérateur ternaire dans l’exemple ci-dessus sélectionne la valeur à gauche des deux points (c’est-à-dire ‘Enfant’) si la condition est évaluée à vrai (c’est-à-dire si elle $age est inférieure à 18), et sélectionne la valeur à droite des deux points (c’est-à-dire ‘ Adulte ‘) si la condition est évaluée à false.
  7. L’opérateur de fusion nul (??)

    • En PHP 7, une nouvelle fonctionnalité, l’opérateur de fusion nul (??) a été introduite. Il est utilisé pour remplacer l’ opération ternaire en conjonction avec la fonction isset ().
    • L’ opérateur de fusion Null renvoie son premier opérande s’il existe et n’est pas NULL; sinon, il renvoie son deuxième opérande.
    • Syntaxe:
    • (Condition) ? (Instruction1) ? (Instruction2);
  8. L’instruction switch...case

    • L’instruction switch équivaut à une série d’instructions if.
    • L’instruction switch est utilisée pour sélectionner l’un des nombreux blocs de code à exécuter. Il s’agit d’une alternative à l’instruction if... elseif....else
    • Le mot-clé break empêche le code de s’exécuter automatiquement dans le cas suivant. Le mot-clé default est utilisé si aucune correspondance n’est trouvée.
    • 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.
      • Syntaxe:
        • switch(expression)
          { 
            case valeur1:
              bloc d’instructions 1;
              break;
            case valeur2:
              bloc d’instructions 2;
              break;
              ........................
            case valeurN:
              bloc d’instructions N;
              break;
            default:
            bloc d’instructions par défaut;
            break;
          }

      • Exemple:
      • Les structures conditionnelles en PHP

      • Les parenthèses qui suivent le mot clé switch indiquent une expression dont la valeur est testée successivement par chacun des case.
      • Si l’expression qui suit le mot-clé switch vaut valeur1, les instructions qui suivent la première instruction case sont exécutées.
  9. Exemple:
  10. Application 01
    • Supposez que vous vouliez distribuer des cadeaux aux stagiaires selon leur rang.
    • Les structures conditionnelles en PHP

  11. Application 02
    • Énoncé
      • Changer le code suivant avec l’instruction switch
      • 
        <? php
        if ($note == 0)
        {
        echo "Tu es vraiment un gros Zér0 !!!";
        }
        elseif ($note == 5)
        {
        echo "Tu es très mauvais";
        }
        elseif ($note == 7)
        {
        echo "Tu es mauvais";
        }
        elseif ($note == 10)
        {
        echo "Tu as pile poil la moyenne, c'est un peu juste...";
        }
        elseif ($note == 12)
        {
        echo "Tu es assez bon";
        }
        elseif ($note == 16)
        {
        echo "Tu te débrouilles très bien !";
        }
        elseif ($note == 20)
        {
        echo "Excellent travail, c'est parfait !";
        }
        else
        {
        echo "Désolé, je n'ai pas de message à afficher pour cette note";
        }
        ?>
    • Solution
      • Essayez de faire l’exercice de votre côté avant de regarder la Solution !

    • Références:
      • https://www.php.net
      • Livre PHP7 Cours et exercices Jean Engels 2e édition
      • Technologies de l’Information et de la Communication 4 année secondaire





Riadh HAJJI

Abonnez vous à notre chaîne YouTube gratuitement