Leçon 4 / 12
Leçon 04 · Partie 1 — Les fondamentaux

Conditions

Pourquoi les conditions ?

Tu prends des décisions tout le temps : "s'il pleut, parapluie, sinon lunettes". En PHP, c'est pareil. Les conditions permettent à ton code de réagir selon les données.

if — "si... alors..."

if dit : "si cette condition est vraie, exécute ce bloc". Sinon, saute-le.

PHP
$age = 20;

if ($age >= 18) {
    echo "Tu es majeur.";
}

Décortiqué :

  • if — mot-clé "si".
  • ($age >= 18) — la condition entre parenthèses. >= = supérieur ou égal.
  • { ... } — le bloc à exécuter si c'est vrai. Rien entre les accolades ne s'exécute si c'est faux.
Résultat ($age = 20)
Tu es majeur.

Si $age était 15, rien ne s'affiche.

if / else — "si... sinon..."

else = sinon. Une branche s'exécute toujours.

PHP
$heure = 14;

if ($heure < 12) {
    echo "Bonjour !";
} else {
    echo "Bonne après-midi !";
}
Résultat ($heure = 14)
Bonne après-midi !

14 est inférieur à 12 ? Non. PHP saute le premier bloc et exécute else.

if / elseif / else — plusieurs cas

Plus de deux cas ? elseif enchaîne plusieurs conditions. PHP s'arrête à la première vraie.

Exemple avec des notes :

PHP
$note = 75;

if ($note >= 90) {
    echo "Excellent !";
} elseif ($note >= 70) {
    echo "Bien.";
} elseif ($note >= 50) {
    echo "Moyen.";
} else {
    echo "Insuffisant.";
}
Résultat ($note = 75)
Bien.

75 >= 90 ? Non. 75 >= 70 ? Oui. PHP affiche "Bien." et ignore les autres. Dès qu'une condition est vraie, les suivantes sont ignorées.

Les opérateurs de comparaison

Ce sont les symboles qui comparent deux valeurs :

PHP
$a == $b    // égal en valeur seulement
$a === $b   // identique : même valeur ET même type
$a != $b    // différent en valeur
$a !== $b   // pas identique (valeur OU type différent)
$a > $b     // strictement supérieur
$a < $b     // strictement inférieur
$a >= $b    // supérieur ou égal
$a <= $b    // inférieur ou égal

Point important — source de nombreux bugs :

⚠️

== vs === :

"5" == 5true. PHP convertit les types et compare juste les valeurs.

"5" === 5false. PHP compare la valeur ET le type. Texte ≠ entier.

Conseil : utilise toujours ===. Ça évite les surprises.

Combiner des conditions avec && et ||

Pour vérifier plusieurs choses à la fois :

PHP
$age      = 25;
$connecte = true;

// && (ET) — les DEUX conditions doivent être vraies
if ($age >= 18 && $connecte) {
    echo "Accès autorisé";
}

// || (OU) — AU MOINS UNE condition doit être vraie
if ($age < 18 || !$connecte) {
    echo "Accès refusé";
}

// ! (NON) — inverse une condition
if (!$connecte) {
    echo "Merci de te connecter";
}

Résumé :

  • && — ET : les deux doivent être vraies.
  • || — OU : au moins une doit être vraie.
  • ! — NON : inverse la condition. !true = false.

switch — tester une variable contre plusieurs valeurs

switch est pratique pour tester la même variable contre plusieurs valeurs. Selon la valeur, un chemin différent s'exécute.

PHP
$jour = "lundi";

switch ($jour) {
    case "lundi":
    case "mardi":
        echo "Début de semaine";
        break;
    case "vendredi":
        echo "Bientôt le week-end !";
        break;
    default:
        echo "Milieu de semaine";
}
Résultat
Début de semaine

Points importants :

  • Deux case sans code entre eux partagent le même bloc. Ici "lundi" et "mardi" donnent le même résultat.
  • break stoppe le switch après le bon cas. Sans break, PHP continue les cases suivants — source de bugs.
  • default s'exécute si aucun cas ne correspond. Comme le else.

N'oublie jamais le break après chaque case ! C'est l'erreur classique numéro un avec switch.

L'opérateur ternaire — un if/else en une ligne

Le ternaire raccourcit un if/else simple. Syntaxe : condition ? valeur_si_vrai : valeur_si_faux.

PHP
$age = 20;

// Version longue avec if/else :
if ($age >= 18) {
    $statut = "majeur";
} else {
    $statut = "mineur";
}

// Version courte avec l'opérateur ternaire — même résultat :
$statut = ($age >= 18) ? "majeur" : "mineur";

echo $statut; // majeur

Pratique pour les cas simples. Pour des logiques complexes, préfère le if/else classique.

// À retenir
  • if exécute un bloc si la condition est vraie
  • else définit ce qui se passe si la condition est fausse
  • elseif permet plusieurs cas — PHP s'arrête au premier vrai
  • Préfère === à == : compare la valeur ET le type, évite les surprises
  • && (ET), || (OU), ! (NON) pour combiner les conditions
  • switch pour tester la même variable contre plusieurs valeurs — n'oublie pas le break
  • Ternaire condition ? vrai : faux pour les if/else simples sur une ligne