Catégories
PHP

Les conditions PHP

Maintenant que nous connaissons le principe des variables, il est temps de s’intéresser à leur manipulation au travers des conditions.

En PHP, une condition est un moyen de décider quoi faire en fonction de la réponse à une question. Le programme pose une question et vérifie la valeur de sa réponse et agira en fonction de cette valeur. Par exemple, on peut dire : « Si le jour en cours est Samedi, fais ceci, sinon fais cela. » Les conditions permettent au programme de faire des choix et de déterminer quoi faire à chacune de ses étapes.

Rédiger une condition

Le principe de rédaction d’une condition est simple, nous allons procéder en 2 temps. L’objectif est d’évaluer une « expression » pour définir si elle est vraie ou fausse.

<?php
  if (expression) {
    // Instructions à exécuter si l'expression est vraie
  } else {
    // Instructions à exécuter si l'expression est fausse
  }
?>

Si l’expression est vraie, les instructions contenues dans le bloc if seront exécutées. Si elle est fausse, les instructions contenues dans le bloc else seront exécutées. Le bloc else est facultatif.

Prenons un exemple en nous appuyant sur une variable :

<?php
  $a = 5;
  if ($a > 10) {
    echo "a est plus grand que 10";
  } else {
    echo "a est plus petit ou égal à 10";
  }
?>

Dans ce code, nous définissons une variable $a. Nous testons sa valeur à l’aide d’une condition. Si elle est supérieure à 10, alors nous afficherons dans notre page « a est plus grand que 10« , sinon, nous afficherons « a est plus petit ou égal à 10« .

La valeur de $a étant égale à 5, le résultat sera « a est plus petit ou égal à 10 »

Les symboles de comparaisons et de combinaisons

Il existe plusieurs types de comparaisons possibles pour vérifier une condition. Ainsi, nous pourrons vérifier si une valeur est supérieur, inférieure, égale ou différentes à une autre. Ces symboles sont à utiliser dans la première partie (if(…)) d’une condition.

Symbole de comparaisonDéfinition
==Est strictement égal à…
>Est supérieur à…
<Est inférieur à…
>=Est supérieur ou égal à…
<=Est inférieur ou égal à…
!=Est différent de…

Il nous sera également possible d’affiner notre condition en combinant plusieurs vérifications au seins de la condition if(…) à l’aide de symboles spécifiques :

Symbole de combinaisonDéfinition
&&ET
||OU

Dans l’exemple suivant nous allons vérifier si la valeur de $a est comprise entre 1 et 10 à l’aide d’une question multiple :

<?php
  $a = 5;
  if ( ($a > 1) && ($a < 10) ) {
    echo "a est compris entre 1 et 10";
  } else {
    echo "a n'est pas compris entre 1 et 10";
  }
?>

Nous pourrons procéder avec la même logique pour définir si une valeur est égale à l’une ou l’autre des valeurs recherchées :

<?php
  $a = 5;
  if ( ($a == 5) || ($a == 10) ) {
    echo "a est strictement égale à 5 ou 10";
  } else {
    echo "a n'est pas strictement égale à 5 ou 10";
  }
?>

Les conditions booléennes

Une condition booléenne est une expression qui peut être évaluée soit comme vraie (TRUE ou 1), soit comme fausse (FALSE ou 0). Le fonctionnement reste identique aux conditions présentées précédemment à la différence près que la valeur ne pourra être qu’existante ou non.

Nous pourrons par exemple utiliser une condition booléenne pour vérifier si un utilisateur est connecté :

<?php
  $connected = TRUE;
  if ( $connected ) {
    echo "Vous êtes connecté";
  }else{
    echo "Vous n'êtes pas connecté";
  }
?>

Dans cet exemple nous remarquons l’absence de symbole de comparaison dans la condition. Le programme vérifie juste si la variable $connected existe. Ici sa valeur est TRUE, alors, elle existe.

Les conditions multiples

La structure conditionnelle if…else if…else permet de traiter plusieurs conditions et d’exécuter du code en conséquence. Elle est plus complexe que la condition simple if…else et peut gérer autant de scénarios que nécessaire.

<?php
  $note = 75;

  if ($note > 90) {
    echo "Vous avez obtenu une note A";
  } else if ($note > 80) {
    echo "Vous avez obtenu une note B";
  } else if ($note > 70) {
    echo "Vous avez obtenu une note C";
  } else {
    echo "Vous avez obtenu une note D ou inférieure";
  }
?>

Dans cet exemple, la variable $note est comparée à différents seuils (90, 80, 70) à l’aide de la structure conditionnelle if…else if…else. En fonction de la valeur de $note, un message différent sera affiché à l’écran.

Les switch

L’instruction switch en PHP est une structure de contrôle de flux qui permet de tester une expression pour plusieurs cas possibles et d’exécuter le code correspondant à chaque cas.

Contrairement à la structure else if qui effectue le test de la valeur ciblée (la variable ) à chaque condition, switch effectue ce test une seule fois et seul sa valeur sera évalué en fonction des directives données.

Cette méthode est préconisée pour alléger l’exploitation des ressources du serveur dans le cas de conditions ayant recours à de nombreux else if.

Voici un exemple d’utilisation concret :

<?php
  $jour = "lundi";

  switch ($jour) {
      case "lundi":
          echo "C'est le début de la semaine.";
          break;
      case "mardi":
          echo "Mi-semaine, presque la fin.";
          break;
      case "vendredi":
          echo "Enfin vendredi !";
          break;
      default:
          echo "Un autre jour de la semaine.";
  }
?>

Dans ce code, la variable $jour est évaluée à "lundi". Lorsque l’instruction switch est exécutée, la valeur de $jour est comparée à chaque valeur dans les différents cas. Comme "lundi" correspond au premier cas, le message "C'est le début de la semaine." est affiché. La commande break permet de sortir du modèle Switch une fois que le message a été affiché.

la valeur default en ligne 14 sert à définir un comportement par défaut pour les cas où aucune des valeurs dans les différents cas ne correspond à la valeur de l’expression évaluée. Si aucune des valeurs dans les différents cas ne correspond à la valeur de l’expression, les instructions associées à la valeur default seront exécutées.

Dans notre exemple, si la valeur de la variable $jour est autre chose que « lundi », « mardi » ou « vendredi », le message "Un autre jour de la semaine." sera affiché. Cela permet de définir un comportement par défaut pour toutes les autres valeurs de $jour qui ne sont pas couvertes par les autres cas.

Cette article vous a t'il été utile ?
( 0 )