🎯 Objectifs du chapitre
À la fin de ce chapitre, vous serez capables de :
- Comprendre la structure des conditions en PHP.
- Utiliser
if,else,elseif,switch, et l’opérateur ternaire. - Appliquer la logique conditionnelle dans vos programmes.
🔹 1. Qu’est-ce qu’une condition ?
Une condition permet à un programme de prendre une décision selon qu’une expression est vraie (true) ou fausse (false).
👉 Exemple :
Si la note est supérieure ou égale à 10, alors l’étudiant est admis. Sinon, il est refusé.
🔹 2. Structure de base : if, else
if (condition) {
// Instructions si la condition est vraie
} else {
// Instructions si la condition est fausse
}
🔸 Exemple :
<?php
$note = 14;
if ($note >= 10) {
echo "Admis";
} else {
echo "Refusé";
}
?>
🧩 Résultat :
Admis
🔹 3. Condition multiple : if ... elseif ... else
Lorsque plusieurs cas sont possibles :
<?php
$note = 16;
if ($note >= 16) {
echo "Très bien";
} elseif ($note >= 14) {
echo "Bien";
} elseif ($note >= 10) {
echo "Passable";
} else {
echo "Insuffisant";
}
?>
🧩 Résultat :
Très bien
🔹 4. L’opérateur ternaire
C’est une forme courte d’un if ... else.
🔸 Syntaxe :
(condition) ? valeur_si_vrai : valeur_si_fausse;
🔸 Exemple :
$age = 20;
$message = ($age >= 18) ? "Majeur" : "Mineur";
echo $message;
🧩 Résultat :
Majeur
🔹 5. La structure switch ... case
Utilisée pour tester une variable sur plusieurs valeurs possibles, plus lisible que plusieurs if.
🔸 Syntaxe :
switch ($variable) {
case valeur1:
// instructions
break;
case valeur2:
// instructions
break;
default:
// instructions si aucune condition n'est vraie
}
🔸 Exemple :
<?php
$jour = "mardi";
switch ($jour) {
case "lundi":
echo "Courage, la semaine commence !";
break;
case "vendredi":
echo "C’est bientôt le week-end !";
break;
default:
echo "Bonne journée !";
}
?>
🧩 Résultat :
Bonne journée !
🔹 6. Combiner plusieurs conditions
Vous pouvez combiner plusieurs conditions avec les opérateurs logiques :
&&(ET)||(OU)!(NON)
🔸 Exemple :
<?php
$age = 20;
$nationalite = "marocaine";
if ($age >= 18 && $nationalite == "marocaine") {
echo "Vous pouvez voter au Maroc.";
} else {
echo "Vous ne pouvez pas voter.";
}
?>
🧩 Résultat :
Vous pouvez voter au Maroc.
🔹 7. Conditions imbriquées
Une condition peut être placée à l’intérieur d’une autre :
<?php
$connecte = true;
$role = "admin";
if ($connecte) {
if ($role == "admin") {
echo "Bienvenue administrateur.";
} else {
echo "Bienvenue utilisateur.";
}
} else {
echo "Veuillez vous connecter.";
}
?>
🧩 Résultat :
Bienvenue administrateur.
🧠 Bonnes pratiques
✅ Bien indenter le code pour la lisibilité.
✅ Utiliser elseif au lieu de plusieurs if séparés.
✅ Penser à ajouter un break après chaque case dans un switch.
🧩 Exercice 1 : Mention selon la note
🔹 Énoncé :
Écrire un script PHP qui :
- Demande une variable $note.
- Affiche la mention correspondante :
- ≥ 16 : Très bien
- ≥ 14 : Bien
- ≥ 12 : Assez bien
- ≥ 10 : Passable
- < 10 : Insuffisant
🔹 Correction :
<?php
$note = 13;
if ($note >= 16) {
echo "Très bien";
} elseif ($note >= 14) {
echo "Bien";
} elseif ($note >= 12) {
echo "Assez bien";
} elseif ($note >= 10) {
echo "Passable";
} else {
echo "Insuffisant";
}
?>
🧩 Résultat attendu :
Assez bien
🧩 Exercice 2 : Calcul du tarif
🔹 Énoncé :
Créer un script qui affiche le tarif d’entrée selon l’âge :
- Moins de 12 ans : 5 dh
- Entre 12 et 18 ans : 10 dh
- 18 ans et plus : 20 dh
🔹 Correction :
<?php
$age = 15;
if ($age < 12) {
$tarif = 5;
} elseif ($age < 18) {
$tarif = 10;
} else {
$tarif = 20;
}
echo "Âge : $age ans<br>";
echo "Tarif : $tarif dh";
?>
🧩 Résultat :
Âge : 15 ans
Tarif : 10 dh
🧩 Exercice 3 : Jour de la semaine (switch)
🔹 Énoncé :
Créer un script qui affiche un message différent selon le jour de la semaine.
🔹 Correction :
<?php
$jour = "dimanche";
switch ($jour) {
case "lundi":
echo "Début de la semaine.";
break;
case "vendredi":
echo "Dernier jour avant le week-end !";
break;
case "samedi":
case "dimanche":
echo "Bon week-end !";
break;
default:
echo "Bonne journée de travail.";
}
?>
🧩 Résultat :
Bon week-end !
🧠 Récapitulatif du chapitre
| Structure | Utilisation |
|---|---|
if ... else | Condition simple |
elseif | Plusieurs cas |
switch ... case | Plusieurs valeurs possibles pour une même variable |
?: | Opérateur ternaire |
&&, ` |