PHP Leçon 3
Les conditions
Faire réagir le programme selon la situation avec if, elseif et else, et comparer des valeurs.
À la fin de cette leçon, tu sauras
- Écrire un if, un elseif et un else
- Comparer des valeurs avec ===, <, >= …
- Combiner des conditions avec && et ||
Si… sinon…
Une condition exécute un bout de code seulement si quelque chose est vrai. La condition est entre parenthèses, le code à exécuter entre accolades.
<?php
$heure = 14;
if ($heure < 12) {
echo "Bonjour !";
} elseif ($heure < 18) {
echo "Bon après-midi !";
} else {
echo "Bonsoir !";
}PHP teste les conditions dans l'ordre et s'arrête à la première qui est vraie. Le else final s'exécute si aucune ne l'est. Le elseif et le else sont facultatifs.
Comparer
===: égal (même valeur et même type) ;!==: différent ;<,>,<=,>=: plus petit, plus grand, ou égal.
Attention : = range une valeur dans une variable, === compare. Écrire if ($age = 18) ne compare rien : ça met 18 dans $age. Il existe aussi ==, qui compare sans vérifier le type ; préfère ===, plus prévisible.
Combiner plusieurs conditions
<?php
$age = 17;
$autorisation = true;
if ($age >= 18 || $autorisation) {
echo "Inscription acceptée";
}
if ($age >= 16 && $age < 18) {
echo "Tu peux commencer la conduite accompagnée";
}
if (!$autorisation) {
echo "Il manque l'autorisation";
}&&(ET) : vrai si les deux conditions sont vraies ;||(OU) : vrai si au moins une est vraie ;!(NON) : inverse une condition.
Astuce : décale (indente) le code à l'intérieur des accolades. PHP s'en moque, mais tu vois tout de suite ce qui dépend de la condition.
À toi de jouer
Écris un programme qui dit si une personne est majeure :
- crée une variable
$ageavec un nombre ; - si
$ageest supérieur ou égal à 18, affiche « Majeur » ; - sinon, affiche « Mineur ».
- La variable $age contient un nombre
- Un if teste $age >= 18
- Le programme affiche « Majeur »
- Un else affiche « Mineur »
- Pas de = tout seul dans la condition
Bravo, toutes les consignes sont réussies !
Bloqué ? Voir une solution
<?php
$age = 16;
if ($age >= 18) {
echo "Majeur";
} else {
echo "Mineur";
}