Skip to content

Structures conditionnelles

Objectifs pédagogiques

  • Comprendre et appliquer les structures conditionnelles (if, else, elseif, switch, match).
  • Maîtriser les opérateurs de comparaison en contexte conditionnel.

Opérateurs de comparaison

Ces opérateurs permettent de comparer des valeurs. Ils sont souvent utilisés dans des conditions.

OpérateurSignificationExemple
==Égal à (valeur)$a == $b
===Strictement égal (valeur + type)$a === $b
!=Différent$a != $b
!==Strictement différent$a !== $b
<Inférieur$a < $b
>Supérieur$a > $b
<=Inférieur ou égal$a <= $b
>=Supérieur ou égal$a >= $b
<=>Spaceship : comparaison combinée$a <=> $b

Spaceship (<=>)

Retourne :

  • -1 si $a < $b
  • 0 si $a == $b
  • 1 si $a > $b

Exemple :

php
echo 5 <=> 10;  // -1
echo 10 <=> 10; // 0
echo 15 <=> 10; // 1

Utile notamment pour les fonctions de tri personnalisées.

Structure conditionnelle if

Permet d'exécuter un bloc de code si une condition est vraie.

php
$age = 20;

if ($age >= 18) {
  echo "Majeur";
}

Schéma explicatif

mermaid
flowchart TD
  A[Début] --> B{Condition}
  B -- vrai --> C[Exécuter le bloc]
  C --> D[Suite du programme]

if / else

Permet d'exécuter un bloc de code si une condition est vraie ou un autre si la condition est fausse.

php
$note = 9;

if ($note >= 10) {
  echo "Admis";
} else {
  echo "Adayné";
}

Schéma explicatif

mermaid
flowchart TD
  A[Début] --> B{Condition}
  B -- vrai --> C[Exécuter le bloc]
  B -- faux --> D[Suite du programme]
  C --> D

if / elseif / else

Permet de tester plusieurs cas successifs.

php
$note = 14;

if ($note >= 16) {
  echo "Très bien";
} elseif ($note >= 12) {
  echo "Assez bien";
} elseif ($note >= 10) {
  echo "Passable";
} else {
  echo "Échec";
}

Schéma explicatif

mermaid
flowchart TD
  A[Début] --> B{Condition}
  B -- vrai --> C[Bloc if]
  B -- faux --> D{Autre condition ?}
  D -- vrai --> E[Bloc else if]
  D -- faux --> F[Bloc else]
  C --> G[Suite du programme]
  E --> G
  F --> G

switch

Structure alternative à if quand on compare une seule variable à plusieurs valeurs.

php
$day = "mardi";

switch ($day) {
  case "lundi":
    echo "Début de semaine";
    break;
  case "vendredi":
    echo "Fin de semaine";
    break;
  default:
    echo "Jour courant";
}

Schéma explicatif

mermaid
flowchart TD
  A[Début] --> B[Évaluer une variable]
  B --> C{Valeur 1 ?}
  C -- oui --> D[Bloc 1]
  C -- non --> E{Valeur 2 ?}
  E -- oui --> F[Bloc 2]
  E -- non --> G{Valeur 3 ?}
  G -- oui --> H[Bloc 3]
  G -- non --> I[Bloc par défaut]
  D --> Z[Suite du programme]
  F --> Z
  H --> Z
  I --> Z

match (PHP 8)

Alternative moderne à switch, plus concise et typée strictement.

php
$note = 14;

$message = match (true) {
  $note >= 16 => "Très bien",
  $note >= 12 => "Assez bien",
  $note >= 10 => "Passable",
  default     => "Échec"
};

echo $message;

Schéma explicatif

mermaid
flowchart TD
  A[Début] --> B[Évaluer une expression]
  B --> C{Correspond à cas 1 ?}
  C -- oui --> D[Retourner valeur 1]
  C -- non --> E{Correspond à cas 2 ?}
  E -- oui --> F[Retourner valeur 2]
  E -- non --> G{Correspond à cas 3 ?}
  G -- oui --> H[Retourner valeur 3]
  G -- non --> I[Erreur si aucun cas par défaut défini]
  D --> Z[Fin]
  F --> Z
  H --> Z
  I --> Z

Exercice pratique

  1. Créer un fichier conditions.php
  2. Déclarer une variable $note entre 0 et 20
  3. Afficher un message d’évaluation avec if/elseif/else
  4. Bonus : réécrire l’évaluation avec match