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érateur | Signification | Exemple |
|---|---|---|
== | É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 :
-1si$a < $b0si$a == $b1si$a > $b
Exemple :
php
echo 5 <=> 10; // -1
echo 10 <=> 10; // 0
echo 15 <=> 10; // 1Utile 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 --> Dif / 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 --> Gswitch
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 --> Zmatch (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 --> ZExercice pratique
- Créer un fichier
conditions.php - Déclarer une variable
$noteentre 0 et 20 - Afficher un message d’évaluation avec
if/elseif/else - Bonus : réécrire l’évaluation avec
match